I have been having a hard time trying to know if ARM is a microprocessor or microcontroller or something else?
ARM is a CPU architecture (more accurate, a family of related CPU architectures). If you put that (or anyother) CPU on a chip all by itself, you have a microprocessor (like they did in the age-old Acorn machines). If you combine it with ROM (Flash), RAM and peripherals on one chip, you have a microcontroller (example: LPC2148).
Things can get a bit muddy when you combine the CPU with ROM and RAM, but also provide the data, address and control lines on the pins, so external memory can be added. Such a chip is can be used either in microcontroller mode, or in microprocessor mode. (example: LPC2478)
Nowadays smaller systems (up to 0.5Mb Flash, a few 10's Kb RAM) are available as microcontroller. Larger systems (typically running a Linux or something similar) are typically composed of a microprocessor with external RAM. (ROM can be external too, or a small boot-rom on chip + an SD card or similar). Examples: open up any mobile phone, set-top box, modem/router, etc.
Funny note: microcontrollers tend to be short on RAM, hence the run from Flash, which often limits their speed. Microprocessors often have plenty RAM, have a slower Flash, which is loaded into RAM for execution.
Neither (and both)
ARM is a company who license CPU cores.
The ARM core can be, and is, used by lots of companies to make both microcontrollers and microprocessors.
Technically, ARM is a microprocessor, or, more specifically, a microprocessor architecture. The thing to understand, though, is that it doesn't represent a physical microprocessor, but the design that allows to build one.
ARM Holdings is a multinational semiconductor group that doesn't manufacture any CPU; instead, they design them and then sell the architecture under licensing. The designs are used to build microprocessors as well as microcontrollers, but what ARM provides is just the core.
It's also wrong to say that it's a microcontroller, because it's the manufacturer that takes the ARM core and build all the peripherals around it.