If you want to do things that need an OS use RPI, if you want read/transfer sensor data or control basic servos esp8266 is a joy to work with. There are plenty of others, arduino is maybe more known as buzzword for microcontrollers.
Yes, but you also get the downsides of having a full computer. Namely, it has an OS, it has an SD card that can wear out, it takes longer to boot, etc.