Many wireless card manufacturers support only Windows or Mac OS platforms. When developing drivers to integrate the hardware with the operating system, they focus solely on these platforms. This leaves Linux-based distros on their own.
Some wireless vendors release the specs to the open source community so they can write drivers for Linux, while other drivers are reverse-engineered by the community. Because there's no official support, some of these drivers can be quite buggy. For my desktop running Ubuntu 10.04, I just simply gave up and ran an ethernet cable up the stairs from the router.
However, there are wireless cards that work well with Ubuntu. When deciding to run Ubuntu or some other Linux distro on a computer, it helps to select hardware known to be Linux-compatible.
Ubuntu's Help Docs - Wireless Cards Supported lists all of the wireless cards by vendor and then by model. It will tell you if the card is supported, how well it works, what it takes to install and configure the drivers, and how to troubleshoot.
In my experience, using cards that work out of the box are best. Not only is installation easier, but the cards generally continue to work as you update your system.