There are almost 20 official Arduino models with very different features (not considering all the tenths of compatible boards out there). Some have removable MCUs, some don't. Some have more memory, some less. Some run faster and some slower...
The language you use with the Arduino IDE is also C. Arduino IDE is an IDE, not a programming language. What you probably meant is that you can program the microcontroller directly in plain C or asm instead of using the Arduino high level libraries that abstract the HW details of the different boards supported by the environment.
That is not really the point. Following the same reasoning, you could just have reduced this post to a link to the wikipedia article... Why did you feel you could do better for one thing and not for the other?
Answering your questions
I use Arduino for quick prototyping. The IDE is very convenient and it is very easy and safe to hook things up to the board without any soldering or additional protection circuitry... in most cases.
I have many Arduinos, most of them I built myself following this tutorial:
This is why Arduino is so great... because it is Open Source and you can built and modify it as you wish.