Lent is the 40-day period, not including Sundays, leading up to Easter. It is a time of fasting and reflection, and in the Catholic church, part of that fasting means no meat on Fridays. However, fish is not considered meat, so the Friday fish fry has become traditional. But fish is still animal flesh, so why is it not considered to be meat?
Legend has it that centuries ago a medieval pope with connections to Europe's fishing business banned red meat on Fridays to give his buddies' industry a boost. But that story isn't true. Sunday school teachers have a more theological answer: Jesus fasted for 40 days and died on a Friday. Catholics honor both occasions by making a small sacrifice: avoiding animal flesh one day out of the week. That explanation is dandy for a homily, but it doesn't explain why only red meat and poultry are targeted and seafood is fine.
For centuries, the reason evolved with the fast. In the beginning, some worshippers only ate bread. But by the Middle Ages, they were avoiding meat, eggs, and dairy. By the 13th century, the meat-fish divide was firmly established—and Saint Thomas Aquinas gave a lovely answer explaining why: sex, simplicity, and farts.
To make sense of all that, you'll need to read the article at Mental Floss. Of course, the difference between fish and other meats is subject to change- at different times in different places, beavers, capybaras, muskrats, and alligators have been classified as fish.