Playing [Bioshock] Infinite, I realize that Halo-style recharging shields are actually a huge mistake in shooter design. But all shooters use them now. Since people are going to ask: There are two problems; one is about emotional pacing, one is about gameplay crispness and fairness. With shields, you are always doing okay in the medium and long term. They low-pass filter the emotional high of surviving a tight situation. You can have a tight situation on the order of 10 seconds, but not on the order of 5 minutes, which matters more.
The crispness problem is: In order to provide difficulty, designers now have to overwhelm your shields all the time, which means designing situations that are spammy (get hit from all directions so you can't process what is going on). These are confusing and not fun. These feel messy to play but they happen all the time because they have to. Or, like Infinite does, have super attacks that take away all your shields at once *and* 1/3 of your health, which feels steeply unfair.
Also, shields train the player to ignore getting hit most of the time, which becomes grating at the end when guys start hitting hard. (You trained the players for one thing but then gave them another!) I think shooters are much stronger experiences when it matters if you got hit. In shield games you get hit all the time, like flies buzzing.