with every button you press inside maya, a MEL script is executed. You can see the exact command in the script editor and copy paste it below and run it again.
this gives you the freedom to do whatever using programming, including everything you mentioned.
case 1: you can use a MEL script as a Batch command to do a specific sequence of commands to multiple objects. ( say you have 1000 objects and you want to add or edit an attribute to all of them. You can use a for loop for that. Or a common senario is to randomize something to many objects)
case 2: you can write your own tool with a proper UI so to extend the functionality of the program.
case 3: you can use scripts in the form of an expression, which run on every frame (or every time maya queries that value) so to make procedural animation.
MEL is really powerfull cause you can do stuff that the software itself doesnt offer, but is not the most efficient language as it is just a scripting one.