It depends entirely on what criteria are important to you and your budget.
Do you drive? Do you need to commute somewhere specific for work? Do you need daily access to the train station/London? Is there a particular reason for Farnham over another town in that area?
Badshot Lea, Tongham and Wrecclesham are on the outskirts of Farnham and are fairly residential. Farnham has one large Sainsbury's on the north side of Farnham but you could reach it from anywhere in Farnham in about 10 minutes in the car. There is a small Sainsbury's, a Lidl and a Waitrose in Farnham town centre.
Alton is 10 minutes up the A31 and has a Sainsbury's, Aldi, Waitrose, Iceland and M&S food. You can be in Basingstoke in 20 minutes for the shopping centre. Alton and Basingstoke also has a lot of development going on. As does nearby Bordon (another ex army town although without a train station).
Aldershot doesn't have a great reputation locally but they are doing a lot of building in the area as the Army has sold off a lot of land. There isn't a huge amount in Aldershot town centre, obviously that might change in time if the developments do well. There is a cinema and a few restaurants and a theatre. There is a large Tesco and Morrison's outside of Aldershot town centre.
Aldershot and Farnham are very different towns. Farnham is a fairly "posh" market town, Aldershot is an army town.