I can't afford to try lots of products, so I use the below. My hair is not too long and not excessively dry - it's more greasy at the roots and super dry in the lengths, which is a shit combo.
Once a week I will use warm olive oil on my hair. Literally just put some olive oil in the microwave for 15-20 seconds, and when it's warm but not hot, spread it through the lengths of my hair, put on a shower cap, and leave it on for 20 minutes or so.
I wash it out by putting a little shampoo directly on my hair before getting in the shower, and working it through, then washing it again with shampoo in the shower. I find otherwise it's difficult to get all the oil out.
Last week I used the olive oil (as above) mixed with a whole beaten egg. I think it worked quite well actually.
On a day to day basis, I wash my hair with timotei pure shampoo (so paraben or silicone or colour things), and use a leave in conditioner that I brush through afterwards. I used to use shampoo, conditioner, and then a leave in conditioner on the ends, but then I ran out of conditioner and keep forgetting to buy any.
I think one of the best things for long hair is to try and avoid washing the lengths if you can - so for example, put it in pippi long stocking style plaits, and then just wash your scalp by putting some shampoo with warm water in a jug and then pouring over your scalp (and obviously then pure water to rinse off the suds).