First time buyer, questions before I screw up I am wanting to buy BTC to buy goods but things are a bit confusing to me. 

First off, would I be better off buying from someone or a website, or use an atm? Once I purchase the BTC what is the best place to store it? I don't want to link bank accounts and all that which is why I think using an atm would be best. 

If I do use the atm here locally do they just give me a QR code and if so what's the best mobile app to use to get my coins where I can spend them? I've read the FAQs around I'm just still a bit confused. 

All help is greatly appreciated
Yes, if you don't want the hassle of registering or giving your details to a website an ATM would be the better choice. Note that ATMs usually charge more than an online exchange.

They give you a bitcoin address and its QR code as well as a private key and its QR code. 

The private key is all you need to have control and access of your coins on that address. The private key can be used to calculate the public key and the latter can be used to calculate the bitcoin address (which as I mentioned is given already for convenience).

Two very good mobile wallet apps are Mycelium and Airbitz. You can use the wallet app to scan the private key QR code and have complete access to that address (ie. send coins elsewhere). If you scan the address QR code you can check the balance of that address but not spend any coins from it.