This phrase has a lot of variations, for example: “better than a slap in the belly with a cold fish,” “better than a poke in the eye with a sharp stick,” and “better than a smack in the eye with a wet kipper.” There are many more. Phrases such as these are used to mean that although the situation is less than ideal, you accept it because things could be worse.
It has been suggested that the phrase arose from Monty Python’s Fish Dance (you can see this very short skit on YouTube), but it originated earlier than that. In Proust’s novel, Swann’s Way (published in 1908), Dr Cottard compliments Odette by saying, “I’d rather have it in my bed than a slap with a wet fish.” Two lines further on, the narrator refers to the statement as “that old joke.” So it would seem the phrase goes farther back than 1908.
In 1954, the phrase is described as “an old saying of the sea.”
An American periodical of 1914 had the following passage: “Next to going up behind a friendly person and giving him a snappy slap in the face with a wet fish, the best way to rouse anger in the human chest is to deliver an ultimatum.”
I think that’s absolutely correct. Nobody likes an ultimatum.
Long ago, when I worked as an accountant in a small sea-side town, one of my clients, a fisherman, strode into my office and slammed a frozen 10 kilogram salmon on my desk. He said, “Better than a slap in the face, right?”
And it was, once I got it off my files and papers and into a garbage bag so I could lug it home. In fact, it was delicious.