It would seem, from your main argument, that you have a problem with laziness of level designers rather then the limiting of weapons.
As long as its done right and it makes sense in the game there is nothing wrong with limiting weapons, just like there is nothing wrong with allowing a character to carry as many weapons as there are in the game.
Limiting weapons tends to be a easy way to add "depth" to a game by giving the player a shallow choice randomly threw out the game that either have a really obvious correct answer ("I know I'm about to fight a giant alien super tank, but should I drop my peashooter for this rocket launcher?") or change the games play rather then the games flow (it doesn't matter whether your shooting, burning, stabbing or blowing a minion up, your still just killing it).
Not limiting a characters weapon carrying capacities leads to problems with hording ammo for hard fights (which is a valid way to kill a boss, but standing around a corner and throwing those 50 grenades you saved up to kill that boss that is rooted in place is obviously not what the designers had in mind when they designed that fight), also, as you said before, it doesn't make sense in the context of most games ("sure you may be able to bench 600 pounds, but can you carry it well running at a brisk pace, firing from the hip with a double barrel shotgun and punching zombies in the face?").
As I said earlier no single system is the best, it all comes down to whether or not it is implemented correctly. It also doesn't hurt if the game doesn't suck as well.