Cooks often divide fish into two categories, fatty (or oily or rich) and lean. These two categories can be split again, by whether their texture is firm or flaky.
Fatty, firm fish include tuna, eels, catfish, shark, and swordfish.
Fatty, flaky fish include salmon, herring, mackerel, and sardines.
Lean, firm fish include grouper, lingcod, mahi-mahi, and striped bass.
Lean, flaky fish include cod, flatfish, and rockfish.
Shellfish aren't technically fish, but they're usually sold at the fish counter, so we've lumped them into this category.
See also: Smoked or dried fish.