I think x.y.99 means that someone built their own version of the client.
To clarify, he means someone built a version of the source from the master branch.
(If they build a version from the 0.10 branch instead of master, it will say 0.10.2 unless they modify the version themselves.)
x.y.99 reflects is the current 'master' branch from the repository: master is typically the last minor before the next major version. Since the next major version will be 0.11, the current master branch version is 0.10.99.
This does produce a couple small considerations however:
All you know from a client saying 0.10.99 is that it was built sometime between 10.0 and the current code on the master tree. It is not necessarily the current master branch, just likely a version sometime since 0.10. It also may or may not have modifications to the core client's code as well(Equally, nothing says that just because a client claims its 0.10.2 that it hasn't been modified either).
Out of 6069 Full Nodes, 165 are currently running "version" 0.10.99 and 51 running 0.9.99.