Free is generally not something people believe equates to "high-quality." Microsoft charges a premium for its OS mostly because there is little to no competition and they can market basically anything to anyone. They do a good job of that. People can complain about it, but I don't see them doing anything to compete with Microsoft, so until people stop complaining and start doing something about it, Windows will continue to dominate the market. I wrote a week ago on the minimal amount of work that has to be done in the Linux realm to make it succeed.
Anyway, I have recently figured out why wireless Internet access has not really kicked off. The problem is that people are relying too heavily on the government to put wireless in major cities. I have a simple solution to the whole problem. Whenever someone buys a wireless router, have two ports - one that is able to be locked down and secured - the other should be open on port 80 only with upstream traffic headed to the Internet only (no LAN access). This allows people to surf the web using any available Internet access point as they go through a city. Then, if two hotspots come in range of each other, they would hand off the connection as a laptop/handheld moved between them. A really great advantage of this open network is that very few people will try to break the encryption guarding existing wireless networks since they will already be able to pretty much do whatever they need to on the Internet.
This, of course, leads me to the whole cellular call junk I was wading through yesterday. Basically, once a network like this forms, there will be almost no need for cellular phone towers except on long stretches of highways where people shouldn't be using cell phones as they drive anyway.