From the manual, at https://docs.blender.org/manual/en/dev/modeling/modifiers/deform/surface_deform.html , the target
Must not contain faces with collinear edges.
You have at least two faces with three collinear points (what I've heard called a degenerate quad). That's what you can't have. I've selected one in the image below.

To add to this, the quickest way to fix this problem (and non-destructively to boot!) is to use a triangulate modifier. On your model, if you put a triangulate modifier on your plane, after the cloth modifier, your fish will bind properly.
That's not always going to be the case; surface deform gives that warning inappropriately sometimes, when the problem is something other than concave polys. (It's interesting to me that binding a Suzanne to a Suzanne is basically impossible...) But in general, whenever you want to use a surface deform and can't bind, the first thing to do is triangulate the target.