I basically ditto everything you mentioned. Friendliness of a staff is so important, if they have an attitude it makes me totally avoid the place. And being on a budget I need the prices to be reasonable sometimes the high prices can be so ridiculous. It's annoying going into a store and not having the items you need. And I love getting rewards like coupons for free stuff for being a regular customer.
What makes me go back to a store are three things. 1) The product. If I enjoyed a store's product, I would definitely go back. 2) The price. Value for money never goes wrong. If I think what I am paying for is worth it, I'll go for it no matter what. Lastly, 3) the service. Nothing beats world class customer service. I would go back for the simple reason that I I felt valued. Those two factors I've mentioned will be nothing if I don't feel I am the store's priority. With those three, I could never go wrong.