I can't tell you which is the best, but I can tell you what I have!
Its a Hauppauge Win-TV primio FM.
I bought it about 6 weeks ago, and it's been fine so far, and does everything I need.
It has a choice of 2 programmes for TV viewing, plus video or stills capture, teletext and FM radio, and comes with a remote and the FM aerial.
The software was prone to crashing at first but I downloaded a driver update from the Hauppauge web-site because it turned out that it wasn't compatible with my motherboard chipset, (which I probably should have checked before buying, oops!) and I haven't had a single crash or freeze since then!
My housemate also has a TV card, a Leadtek, which seems to be perfectly capable, although it doesn't have a teletext function.
As for channels you can pick up, if you only have terrestrial it will be the same as the other TV's in your house (BBC 1+2, ITV, C4, 5.) I believe it's possible to view cable TV through a TV card, but I couldn't tell you how.
If you buy a digital TV card you can watch digital freeview channels click here
but it does depends on the area you live in and whether your aerial can recieve digital signals.
But think about this one: If you have the space for it, Asda and Tescos often have 14" tv's for around £75!