He is better cast in that movie, I think because he is the kind of actor who is more convincing as a dangerous individual behind an unimpressive exterior. Somebody like Daniel Craig or Gerard Butler wouldn't have been as effective, because they are more physically imposing anyway.
To my mind, Viggo couldn't quite pull off the archetypal hero in a vagrant's guise. Partly I think it was a lack of gravitas. Though much of Viggo's performance was good, his heroic monologues were really underpowered and fell flat. That meant he suffered in comparison with Sean Bean's Boromir, who was much more rousing in his big moments.
Viggo did a good job, and let's face it, it's a difficult role that could have been a lot worse. But I feel his face was a little too youthful and handsome, his stature was a tiny bit too slight, and his performance lacked a bit of weight. All of that is only partly his fault; the role was transformed into a romantic lead for the movie. But again, it's a thing I would have changed.
Edit: I just wanted to say that the moment in the extended version of ROTK when Aragorn beheads the Mouth of Sauron is really stupid. It amounts to cold blooded murder and breach or parley, and it's not something Aragorn should do.