I've always preferred the heart system. I feel like it ties into health better, whereas a health bar abstracts damage and doesn't give you any believable relation to damage. All damage results in critical failure at the 0 point.
To give you an idea of what I mean, I really liked the Assassin's Creed health style (from the 2 line). You could regenerate the last partial health block. Health blocks had a discrete 4 hit damage. And damage was reduced by armor.
Not only that, but armor was health, and any "damage" to armor resulted in a max-health penalty. Any "potions" you take was limited by armor damage that had to be repaired.
The new system in Assassin's Creed 3 takes all that away and replaces it with a health bar, and while that gives more control over the health, it replaces the believable system of damage with a critical failure.
In 2, you could get damaged down to 1 health and keep regenerating it and keep fighting through a lot of pain, the extra health that didn't regen was more like a failure buffer than a real health.
I liked this. I felt that it let me survive a lot more than health alone, but gave me an even more suspenseful feeling at one health block left than in 3 where it regens out of combat and I start at full health instantly.
It also limits you from being a infinitely growing system (like most MMOs) because you can keep "improving". This turns out to be a lie, because monsters simply scale in damage to where in reality actual health number is irrelevant. I personally think this needs to die. I feel this is an intellectually lazy, and gameplay cheap system. That cheats the player out of a better experience. One of my favorite MMOs is the Guild Wars line, because improvement isn't a measurement of levels, but skill-based (both player skills and actual activated skills). They cleverly made end-game improvement a hunt for skills. To apply this to WoW would be similar to having an ever expanding list of dropped skills, glyphs, and talent options. To apply this to Diablo 3, would be to have the standard list of runes be level-based, but then have dropped "elite" runes like Diablo 2.
So a recap:
In the 2 line:
- Armor equated resistance to damage and max health. If damaged it reduced max health, and had to be repaired.
- You were allowed to easily regenerate partial blocks.
- Higher suspense at 1 block left, becuase even though with careful planning you could live through infinite damage, you couldn't take a lot in one blow.
- More believable roleplay because of a need system (repair, potions, etc.)
- Limiting max health requires more focus on gameplay mechanics instead of just "moar damage, moar health", and requires a more fun endgame play than just rerun raid X for 1
None of this could be adequately represented with a health bar. And I think the health bar has lowered creativity and believable in lieu of easier maintenance.
A big thing to remember is that if healing mechanics are health-percentage based and not health amount, then a floating-point health is really no different than a fixed health with more damage resistance.