_NET_WM_STATE
The EWMH property that lists a window's states, from maximised and fullscreen to "always on top", and the way a program asks for them to change.
Under ICCCM a window had essentially two states, normal and iconified, recorded in WM_STATE. Everything else that 1990s window managers invented, maximising, shading, sticky windows, was private and invisible to other programs. EWMH fixed that with a list: the _NET_WM_STATE property on the window holds zero or more atoms such as _NET_WM_STATE_MAXIMIZED_VERT, _MAXIMIZED_HORZ, _FULLSCREEN, _STICKY, _SHADED, _ABOVE, _BELOW, _HIDDEN, _SKIP_TASKBAR, _SKIP_PAGER and _DEMANDS_ATTENTION. The window manager owns the list and keeps it current, so a taskbar can read it and display the right thing.
A program may not write to the list directly once the window is mapped. Instead it sends a ClientMessage to the root window carrying up to two atoms and an action: 0 to remove, 1 to add, 2 to toggle. That is how a video player asks for fullscreen and a terminal asks to stay on top, and the window manager decides whether it happens. Two atoms fit in one request because of maximising, which would otherwise be two steps with a visible jolt in between. Before mapping, the program may set the property itself as a request for an initial state.