It works OK. It doesn't get too complicated because spec versions are updated only once every couple of years. So far, the standardized specs (JSRs) approach has worked quite well. Every standard (and there are a lot of them[1]) that is ever complete (many don't) usually has at least three implementations, so often there's plenty of choice.
Here's an example from Jetty: http://www.eclipse.org/jetty/documentation/current/what-jett...
And here's Tomcat: http://tomcat.apache.org/whichversion.html
(Both are very popular web servers)
[1]: https://jcp.org/en/jsr/all