One thing to consider, grass courts nowadays are much slower than they used to be, which favors strong players like Rafa and takes away some of the advantage a fast and technically exquisite player like Federer has on fast surfaces.
The reason for this may be to offer matches that take a bit longer to score each point and make them more enjoyable for the audiences.
On classic grass, Federer would be even more dominant.
Nadal is one of the best ever. But Roger IS the best, even Rafa has acknowledged this on more than one occasion. I'm Spaniard, by the way, and like Nadal very much.
Federer is not only a successful player, but technically he does things nobody else can. The best match I've ever seen was a semifinal at Roland Garros between Federer and Djokovic some years ago. Both played beautifully. Federer won, then lost to Nadal in the final. Djokovic could have taken Nadal, IMO, but back then Rafa knew how to handle Roger.
The last few times both have met, Roger has totally owned Rafa. Among his many virtues, Federer has kept improving and finding ways to stay passionate and focused, despite being now a husband and father.