However, while reading the spec and writing the code, it appears that this forces a window manager to behave in only one way: have a poor desktop support, and no multi-head/XRandR/Xinerama support at all.
The main caveats are that in Xinerama/XRandR mode, you'll have only one root window. And the root window is where you must store the NET_WM X properties… So you cannot handle screens in a independant way like awesome does. That's really a shame.
There's also a big problem for window managers like awesome which are happy to draw several desktops at the same time. There's no support for stuff like that.
So far, I think EWMH is nice but is really too narrow-minded for software and people who want to think window management in a different way.