To answer the shampoo question-you don't have to use a $10 shampoo, but the *super* cheap ones, such as VO5, White Rain, etc. contain cheaper ingredients that are not as good for your hair.
My main suggestion is not to buy the cheapest shampoo available. If it is $1.27, then it is $1.27 for a reason.

You can get a decent mid-priced brand for $3-$5.
The best thing, regardless of whether you use a store or a salon brand, is to use the kind that is for your hair type. If your hair is colored, it is best to use one meant for colored hair-because they are gentler, and prevent the color from fading out as fast...