The bootloader is a 'program' that resides inside the Atmel IC and makes that IC an 'Arduino'. The bootloader takes care that a sketch can be retrieved by UART (via the USB) and stored inside the Arduino.
The programmer is an external hardware device that can upload a sketch without using the bootloader. Another Arduino can also be used as programmer.
In both cases, when a sketch is loaded, it can be run by the Arduino. The programmer does not need a bootloader, so the memory that normally is taken by the bootloader can be saved.
You could use a programmer, but normally there's plenty space for a sketch. Note, it's not the SRAM memory that is saved, only the Flash memory. And if you are reaching the limit of the Flash memory, you should either optimize it, or move to an Arduino with more Flash memory.
Also, the bootloader is much more easy to use, since you can upload the sketch (to the boatloader) with the Arduino IDE. Programming can be done too by the IDE but is less trivial.