How can I determine what weapons I'm missing?
Go to tf2items.com and enter you profile ID. (If you don't have a profile ID set up, just copy the link to your community page)
It will show 3 different tabs, the last one - checklist - should be exactly what you need.
In order for this to work, your profile needs to be public though.
There are a lot of sites that examine your backpack (and I've written a user-javascript that links them from steamcommunity profile; although Enhanced Steam extension also links to some of those sites), and indeed TF2Items is the most famous one.
However, today I found TF2LS, and I think it has the most concise and easy-to-read interface for seeing what items you are missing and what items you have too much. I believe this is the best site to answer your question. The site is now offline.
Best way I can think of is to enter your item backpack in game, sort by class, and then compare to this list: http://wiki.teamfortress.com/wiki/Weapons
Other than that, you can see all of the weapons (and hats) in the item store.