There's a bit of ambiguity, since Arduino is the company behind the Arduino development board, running the Arduino software. 
Breaking it all down, the Arduino board is based on an AVR microprocessor. The Arduino IDE uses plain old C++, it just takes care of much of the housekeeping stuff for you so you can focus on the "do something" code. Nonetheless, it's still using AVR libc, gcc, and all those familiar tools behind the curtain. All that's different is some pre-processing before the code gets handed to the typical AVR toolchain.
If you look at the Arduino core libraries, you'll see a bunch of calls to AVR libc stuff. For example, digitalWrite() just twiddles the PORT, PIN, and DDR stuff under the hood. delay() and millis() just make use of a timer interrupt, and so on.
When it comes to uploading your code, there's another difference. The Arduino IDE expects to talk to an on-chip bootloader that speaks the STK 500 protocol. If you've been around AVR development, you have probably crossed paths with it before. However, you can also use an ICSP programmer to burn the bootloader to bare ICs, or just upload your code directly and bypass the bootloader entirely.
It's not "better" per se to go from AVR to Arduino, or vice versa. Arduino is in fact just a custom framework on top of AVR C. If that framework makes your life easier, then so be it. You can use plain AVR code to program the Arduino board, and you can use Arduino code on a standalone AVR. If you're crafty, you can even use AVR Studio with the Arduino framework.
Using the Arduino IDE together with the dev board makes for a nice and easy-to-use package, but if you've already gotten over the learning curve of doing without either or both, going full Arduino could either be a step backwards (the IDE is somewhat dumb when you're used to proper C development), or it could be a welcome relief from minutiae. I find it's both. 