I find that in these instances, the pub puts your card behind the bar - not so easy when paying with a phone though.
I remember the American Express adverts! You are also right in that many businesses want cash only so as not to attract the attentions of the VAT man, like Arthur Daley.