It depends on which annual pass you get, how much you spend, and whether you have other cards that can get you the same discount.
As HM pointed out, you can get a discount with Amex. You can also get discounts with a AAA card. If you have either of those, then it's probably not worth getting the annual pass just to get discounts.
If you don't have either of those, you'll probably have to do some math (or maths, depending on which side of the pond you live on). The cheapest AP that will get you food & drink discounts is the Preferred Pass, which costs roughly $100 more than most regular park passes. If the Preferred Pass saves you 10% on most purchases, then you'd need to spend about $1000 on food and merchandise to make it worthwhile just for the discount.
Of course, there are other perks to the AP as well, such as discount theme park tickets and onsite hotel stays, so you'd have to factor those in as well.