The problem is not as simple as just the version number, though according to Eric Rescorla, there are some of those. In my experience, most problematic implementations have a problem with ClientHello extensions, which were formally defined after TLS 1.0 was a standard. As such, some servers are hardcoded to expect ClientHello and no more data, which means they will choke on any TLS extensions being sent to them.
Since SSLv3 didn't have the notion of extensions, none of the implementations that I'm aware of send any extensions in their ClientHello. This causes usage of SSLv3 to succeed even against servers that fail on receiving TLS extensions. As such, because of browsers' desire to connect to any server, they try to connect with TLS and extensions and if that fails, they will fallback and try with SSLv3.
For browsers that support TLS 1.1/1.2, it is even more fallback logic, as it maybe that the server didn't accept 1.1, but accepts 1.0 just fine, so you have multiple cascading fallbacks.
So to sum it up - version number and TLS extensions handling are the two most common problems and yes, the above statements are all referring to these types of problems and the browser behavior.