It's definitely not a defender ability. Anything that makes the enemy want to avoid being next to the defender isn't filling the defender roll.
It fills the defender role very well against melee-only foes, you're just not looking at it from the proper angle. This is a defend allies by forcing enemies to move power, not a defend allies by forcing enemies to stay put power. It's a totally different way to achieve the result.
Fighter moves up to group of melee enemies with Rain of Steel. Rest of party stays
out of charge range.
Foes have choices:
1) Stay and fight the Fighter and take damage.
2) Shift and move away (single charge will not work).
3) Move away and then charge attack.
In all 3 cases, they take Rain of Steel damage.
If they stay (#1), the Fighter is fulfilling the keep them off of allies part of his role (and the Fighter is punishing them a little).
If they leave, the first one to shift (#2) gets attacked with Combat Challenge. Again, fulfilling the punishing part of his role. Any that shift use up their entire round's worth of actions getting away. Hence, fulfilling the prevent foes from attacking allies part of his role.
Any that move (#3) will get attacked with Combat Superiority. Again, fulfilling the punishing part of his role.
If the foes try to stay away from the Fighter, the rest of the party tactically moves each round to avoid foes and the Fighter continues to move up to any grouping of foes, and this forces a lot of movement by foes. This creates PC opportunities for Combat Advantage and sometimes even Opportunity Attacks.
Sure, a foe could move up to the Wizard and attack. The Fighter then moves up to that foe and the next round, that foe has to decide whether to stay and fight the Wizard where he gets hit with Rain of Steel, Combat Challenge, and the normal Fighter's attack, or move away.
If he moves away, the Fighter is definitely fulfilling his role of defending the Wizard. If he stays, the Fighter fulfills the punishing part of his role.
The role is not just defending, but also punishing for ignoring the Fighter. Running away from the Fighter often results in ignoring him.
Granted, this does not work as well for Teleporting foes and Ranged foes. But, not all powers are designed for all situations. Rain of Steel is mostly good against a group of melee foes (and even better against minions). It does this very well.