For a company that was legendary for their perpetual "beta" web apps, they sure do increment those release version numbers on their browser awfully quickly.
major.minor are used for each significant release and are set for marketing purposes. They are currently on a 12-week release cycle, where major is updated for each cycle.
build.patch are used for engineering purposes. They update the build value daily on trunk. Periodically, they create a release branch from trunk. On release branches, the build portion of the version is fixed and the patch value is incremented daily.
So for example, the upcoming release will be 9.0.597.something. Typically it takes them a couple weeks to get from beta to stable, so I expect 9.0 stable to be something like 9.0.597.33.
But, as I said, they're just numbers. :-)