Target consumers for topman/topshop is probably aged 16-30. Within that age range you've got 16-21 yr old students,and everyone else who's working.
Now obviously everyone with a job can afford £20 to spend on jeans once in a while. But how do you avoid losing the students to primark? You offer them a discount, and hopefully they'll like the stuff and come abck and keep paying full price after they've graduated and you may as well sell them stuff with 10% less markup than not sell them anything.
Forces discount is a different matter,
thats just shops showing their appreciation for your job, same goes for nurses, doctors etc etc etc, no econimic reason to offer it. Unless your in a small town near a base in which case the rules change slightly.
You run a barbers shop in a small town, population 1500, for example,
The normal price is £7.50, which is about the same wherever you look. But theres 2000 squaddies who need their crew cuts once a month. Do you A) charge them £7.50, or b)offer them a reduced rate to stop them going to the competition, without damageing your ability to make money out of normal folks? Same applies for nurses near hospitals etc.