"Keep" and "retain" are almost the same.However, "retain" is formal.
But "maintain" means look after/keep smth in good condition:
Who is responsible for maintaining the roads?
But "maintain" means look after/keep smth in good condition:
Who is responsible for maintaining the roads?