Nadal is one of the greatest clay court players of all time. He's a bit like Gustavo Kuerten used to be on clay. But overall, Federer is by far the better player. It's like saying a golfer who specializes in his short game or in getting out of sand traps or driving is better than Tiger. Federer losing to him in the finals is not exactly failing. Failing is getting bounced in the 1st round or the quarterfinals or something like that.
Also, Tiger has gone through stretches where his game falls off for a year or so and he has has to retool his swing. He comes back dominant but Federer hasn't had periods like that where he just doesn't get it done and finishes out of contention in slams and other tournaments
Federer also wins a heck of a lot of ther tournaments besides just the slams.
Tiger is great, but so is Federer. I think it's fair to say they're both at the top of their sport, and that no one else is really close.