In fishes the shape of the body and the swimming mode generally are correlated. Slender-bodied fishes such as eels, lampreys, and many sharks tend to swim in the anguilliform mode, in which much of the body undulates at high amplitude. Fishes with broad tails and a narrow caudal peduncle, in contrast, tend to swim in the carangiform mode, in which the tail undulates at high amplitude. Such fishes also tend to have different wake structures. Carangiform swimmers generally produce two staggered vortices per tail beat and a strong downstream jet, while anguilliform swimmers produce a more complex wake, containing at least two pairs of vortices per tail beat and relatively little downstream flow. Are these differences a result of the different swimming modes or of the different body shapes, or both? Disentangling the functional roles requires a multipronged approach, using experiments on live fishes as well as computational simulations and physical models. We present experimental results from swimming eels (anguilliform), bluegill sunfish (carangiform), and rainbow trout (subcarangiform) that demonstrate differences in the wakes and in swimming performance. The swimming of mackerel and lamprey was also simulated computationally with realistic body shapes and both swimming modes: the normal carangiform mackerel and anguilliform lamprey, then an anguilliform mackerel and carangiform lamprey. The gross structure of simulated wakes (single versus double vortex row) depended strongly on Strouhal number, while body shape influenced the complexity of the vortex row, and the swimming mode had the weakest effect. Performance was affected even by small differences in the wakes: both experimental and computational results indicate that anguilliform swimmers are more efficient at lower swimming speeds, while carangiform swimmers are more efficient at high speed. At high Reynolds number, the lamprey-shaped swimmer produced a more complex wake than the mackerel-shaped swimmer, similar to the experimental results. Finally, we show results from a simple physical model of a flapping fin, using fins of different flexural stiffness. When actuated in the same way, fins of different stiffnesses propel themselves at different speeds with different kinematics. Future experimental and computational work will need to consider the mechanisms underlying production of the anguilliform and carangiform swimming modes, because anguilliform swimmers tend to be less stiff, in general, than are carangiform swimmers.