When доста means 'enough', it has the nuance of 'as much as you want', sometimes 'more than what's needed' (1). So by extension it is also used to mean 'a lot' (2) and 'rather, quite' (3):
1. Доста ми е! ('I've had enough' ~ 'I'm fed up'); доста е речено ('enough has been said' ~ already more than what was needed).
2. Има доста грешки во овој есеј. ('There are a lot of mistakes in this essay').
3. Ова е доста тешко, зарем не? ('This is quite hard, isn't it?'); синоќа се вратив дома доста доцна ('last night I returned home quite').
(2) can usually be replaced with многу, and (3) with прилично when you might need to use a more bookish word.
Доволно, as an adverb, always means 'enough' and had the nuance of 'as much as needed ~ sufficiently'. Compare also the adjective доволен ('sufficient').
Тој е доволно стар да го разбере тоа. ('He is old enough to understand that').
"Доста" commonly means "enough" only in short and simple sentences like "Dosta!" (Enough!) and "Dosta e!" (It's/that's enough).
In longer and more complex sentences it ("dosta") usually means "a lot", "many", "very", "much", "very much" etc. In those cases it can also be replaced by "мошне" or "многу":
Тој е доста/мошне/многу добар музичар = He is a very good musician
But if you want to say "enough" in longer sentenced, you would most definitely use "dovolno":
Имаме доволно храна за цел месец = We've got enough food for the whole month
Имаме доста храна за цел месец = We've got a lot of food for the whole month (maybe too much or more than enough)