Basically you can use these three words as synonyms. All three words refer to an activity that ends somehow. But in my view there are slight differences:
"enden" means something ends automatically, like the the days in a month.
"aufhören" means something ends because you stop to do something. This is a passive process, like to stop listening to music. Your MP3 player still plays music but you just do something else now.
"beenden" means somthing ends because you do someting to let it end. This is an active process, like to stop your MP3 player playing music. You actively press the button to stop the music.