Feds serve held him in the match.
But his ground game wasn't good enough, but anyway it's still a tough task to win a match against djokovic if you are gonna play long rallies with him. You can't beat him off the baseline, especially for fed cause he is way too old and not the same player he was. So rushing the net more and trying to finish the points fast was the obvious tactics for Federer, and of course the serve.
Federer was too predictable in my opinion. Djokovic knew he would win the baseline battle, so feds option was that the serve had to work almost perfectly (wich it did) and the net play. But fed in his prime years, would have been able to out master djokovic from the baseline, and also play at the net, wich would make him much more unpredictable.
Djokovic is a great grass court player, but there is no way I see him beat prime fed in london. Those who thinks it was fed nearly at his best last year, can think so, but you are delusional then. You can use the stats how much you want, but that doesn't tell the whole story. Over several meetings Djokovic would be able to beat prime fed on grass I think because he would get used to him and also find new tactics, but if they met the first time back in that time in the final it's Fed in 4 at worst.
I'm not trying to disrespect Djokovic, federer is still a very good grass court player and of course his best surface along with indoor hard, djokovic did amazing no doubt about it, but it's ignorant to not acknowledge that federer is not the same player on grass anymore.