Most important is to give good feedback to the player. He must know is his attacks are effective or not so he can adjust his strategy appropriately. The best approach depends on how long it takes to kill enemies and the type of game you're making. If enemies take one or two hit to kill, then you could get away with no feedback at all (the death of the enemy is the feedback). If it takes a few hits to kill enemies, then visual feedback can be more immersive and prettier. If it takes a lot of hits to beat the enemy (e.g. a long boss battle), then visual feedback alone becomes problematic because going from one visual state to another might take too long, or the visual change may be too subtle. In that case a health bar gives better feedback, and even more specific with a number on the health bar.
The real question is how abstract you want your game to be. Numbers are accurate but not very immersive -- it's best to use them for more abstract games where decisions are made based on specific values (e.g. games with a lot of strategy). Visuals are not very accurate but more immersive and realistic (real sword don't damage with numbers) -- it's best to rely on them for immersive games where the player focuses on the action rather than precise planning.