I'm new to Arduino, and spent a solid few hours last night attempting to program an ATmega328p with bootloader using Arduino as ISP, which I never got to work. Eventually I just took the existing chip out of the UNO, put in the other one and programmed it directly onboard the UNO and it worked fine first try. Which brings me to my question.
Here is the date sheet of atmega328p
Why bother setting up an external circuit to program an ATmega328 instead of just placing it directly on the board?