According the the master Hal Abelson almost every programming language is built upon three things:
- Primitive elements
- Means of combination
- Means of abstraction
I write almost since some esoteric languages, like BrainFuck, doesn't have means of abstraction.
So what do one paradigm offer that another doesn't? Well a different solution to these 3 and perhaps that has a more suitable expressiveness for the certain tasks. I won't go into specifics since it becomes very opinion based so I suggest you try learning to program in the different paradigms and find out for yourself.
Now procedural is usually what you have at the hardware level no matter what language you are programming in so it is the real thing while all the others are more abstract.