I know, you're thinking "this is too obvious, what a stupid node", but trust me - most people don't wash their hair properly. They just give it a quick tangle
with big handfuls of soapy stuff, a brief rinse and a vigorous brush. Very bad.
Most commercially available shampoos are not very different in their chemical make-up to washing-up liquid, so buy the best you can afford. For preference, go for herbal/natural stuff or the kind of swanky shampoo you can only buy in hair salons. You will find that the quality of the shampoo means you need to use much less of both it and conditioner, so you won't be spending much more than you are currently. On the subject of conditioner, it is much better for your hair to avoid using it daily, but rather buy a good hair mask or deep conditioning treatment and use that once or twice a week instead.
If you still can't afford anything beyond what is available at your local supermarket, look at the list of ingredients on the back of the bottle. As a rough guide, the longer the list, the more corrosive and damaging the product.
These days shampoo is made to lather easily, producing a vast mountain of thick white foam and with it the illusion of cleanliness. Ignore the illusion. Roughly slathering your hair in foam does not equal a good clean.
Take a small quantity of shampoo in the palm of your hand. Experiment with what you have - you need as much as is absolutely necessary to lather up all of your hair, no more. Rub your palms gently together to spread the shampoo on your hands, then smooth that onto your wet hair, not forgetting the temples, the front of the hairline and the nape of the neck. Now start working up a lather by putting the tips of your fingers to your scalp and moving them in circles all over your head, firmly but not roughly - and don't use you nails! Continue for as long as you can/have time to - the longer you work the shampoo into your hair and scalp, the cleaner they will be.
This is absolutely paramount. Whatever else you do, make sure you rinse out your hair extremely well. Don't use water that is too hot, but somewhere just above body temperature - scalding your scalp will loosen the hair follicles and make you lose more hair. Ideally, you should keep water running over your hair for ten minutes; if you don't have time for that, keep rinsing until no bubbles are coming with the water, and then some, then taste your hair - it's clean when the water you suck out of it is sweet and fresh with no soapy aftertaste.
Try and avoid washing your hair every day - every other day should be enough if you're doing it properly. You'll notice that the clean, just-washed, easy to manage feeling lasts longer if you've washed your hair thoroughlly and well in the first place (which will also help save money if you switch to more expensive hair products).