It's simple really. Google know how important it is to have good programmers, designers, etc. We're are getting to the point where talent dictates and Google have created an environment that talented people want to work in. Not being evil is part of that (there are plenty of top guys who will leave a company on a point of principle, see Jeremy Allison over the Microsoft-Novell deal).
Did you know that programmers in Google get 20% of their time with the company to work on whatever they want to! As I understand it a lot of the cool projects that Google have come up with started in this way.
It's an increasingly important thing. The guys behind .Net (one of the lead designers was heavily involved with Delphi and then J++) were pretty much given a free hand by MS originally and .Net is a fun type of project to work on (IMHO). Google are the masters though.