The issue with Dimitrov is he overrates his own talents. Not that he doesn't work hard (I'm sure he does, to an extent) but not enough to overcome his deficiencies to which he is not aware of.
Talent is something that you are born with (i.e. height, depth perception, awareness, stamina, endurance, athleticism etc.) and things that cannot be taught. Funnily enough, the one who shuns all of this is one of the most talented players in the history of the tour (Nadal).
Federer, while talented yes, is better described as a genius when it comes to tennis. He sees the game differently to most and as a result, his entire approach to the game is different.
Novak Djokovic is probably the least talented player amongst the GOAT discussions which is why he's constantly having mental battles within himself.