According to a comment the Director of Skyfall made to the media recently, Sam Mendes wanted to up the ante in terms of villainy seen in the 23rd James Bond film.
[It's been] a while since there was a classic … what I would call a classic Bond villain. I’m not saying these guys weren’t great. I thought Mads [Mikkelsen] was particularly good in Casino Royale
But I wanted somebody perhaps a bit more flamboyant, perhaps a bit more frightening, and so I felt like we needed a great actor to achieve that.
Sam Mendes ultimately cast Javier Bardem as the villain Raoul Silva – whose motives remain a closely guarded secret.