it costs money because blizzard has to upkeep their servers, and make sure that they're available 24/7. guild wars is free because they release chapters built upon the same engine, and you are inclined to buy those. CS:S and similair games are free because the servers aren't hosted by valve. if it were, then it would cost money to play.
P.S. some mmorpgs have third party private server patches. private servers are free, so you only have to pay for the game disc. Lineage 2 has a patch like that, and one is being worked on for star wars galaxies. The only disadvantage of private servers is the fact that they are not up all of the time.