1) Limiting the amount of actions that player can undertake simplifies design of the level(no 3-weapon combos or n-weapon combos)
2) simplified controls - mind you that most games need to be available on consoles - and players need to have fast access to each weapon.. and cycling through inventory midfight destroys immersion, which is a BAD thing.
3) direct ability to control which weapons will be available on stage without forcefully removing them from player(no one likes it when someone takes away their toys) - they can easily limit you to lets say 3 weapons from pool of 12 by providing ammo for quite some time for just those select weapons and/or making enemies drop just those weapons -> this leads to #1 - simpler and more precise design.
4) 'realism' effect - as someone said in here you wouldn't be able to run with whole inventory of heavy weaponry on you.

also by limiting player to few weapons lets them pick weapons that suit their playstyle, while giving them as many slots as there are weapons forces them to utilize everything(and some players might hate that), plus there will be always a weapon that would feel useless in such case - and by removing ability to compare all weapons at the same time(doable only by hardcore maniacs tbh) you trick players into not noticing it.


you are giving a player set of actions that he/she can do, and you are designing a challenges that are overcome by utilizing set of actions. Increase in available actions might lead to some unforeseen ways to bypass the challenge - a design bug.