Firstly - and already mentioned - the emphasis on "secondary spend" is clearly a difficulty for some visitors. Having spent, perhaps, £80 to get the family into the grounds in the first place and probably £30 to feed them, they (or to be more accurate, their children) are then attracted by a further £10 here, £12 there, £5 on something else ... and suddenly the family day out is heading toward £200!
All of this is discretionary spend though. There's no need to buy food at the zoo (who'd want to face the queues?), a picnic would suffice. I'd also imagine that children from the poorest families are used to not having significant "bolt-ons" to a main treat (of going to the zoo).
Secondly - are we a zoological collection or a theme park? Study the gift shop for an answer.
Let's have some perspective here -a few non-zoological attractions no more makes a zoo a theme park than a handful of domestics makes it a farm park.
There is a third point. What is the purpose of raising all this extra money?
To comfortably fund future expansion, improvements and donations to conservation. Even if they're not planning anything in the near future it doesn't hurt to make loads of money now and have a buffer (for periods of poor weather, closures due to foot and mouth, general dips in visitors for whatever reason). Imagine where London Zoo might have been if it had followed this credo.