Having to unlock weapons (or items, etc) in a game is a poor way at extending the life of a game. If I want to use a specific weapon I shouldn't have to play
X amount of hours or complete
X amount of challenges.
There's a reason why a few of the recent fighting game releases (PSN/XBLA release of Marvel vs Capcom 2, and the upcoming Super Street Fighter IV for example) have everything unlocked from the beginning and that's the fact that
people don't want to spend time on unlocking things they may or may not use very much just so they can get a game to 100% completion.
It's an archaic game mechanic that has become more redundant and tedious than entertaining. There really isn't much sense of satisfaction to having spent so many hours on unlocking an item.
My satisfaction (if any) comes from how I use the item during the game.