The 2.x.x series of Linux kernels has been around for 15 years now, and recently the OS has hit its 20th anniversary, a new version for a new decade sounds as reasonable a reason as any, especially since the Linux kernel is now released on a time-based release schedule rather than a feature-based release approach.
Currently the Linux version number is more complicated than it needs to be. Recent releases of the Linux kernel have been of 2.6.37, 2.6.38, and most 2.6.39, but these updates have not been as minor as their place in the version number might suggest. On the other hand, security and stability updates such as Linux 126.96.36.199, as the first 2 numbers rarely change, they just complicate the versioning scheme more than it needs to be. With the release of Linux 3.0 this issue will also be resolved once and for all, as future releases will come as Linux 3.1, 3.2, etc. Security updates could then come as 3.1.1, 3.2.4 etc.
While after a long development period as Linux 2.6.x.x one might expect that Linux 3 will come with some groundbreaking, time-travelling features straight from the future, that is not the case. Linux 3.0 will be release just like any other recent release, just labelled as 3.0, and with future releases in a more comprehensible versioning scheme.