I believe an important part of healthy fish stocks is to catch and eat.
I try to only keep the small and mid-size fish and always release the big breeders (unless the are injured or came from very deep water).
I always also keep stocked fish (Chinooks, Coho and Steelhead) as they're are stocked for us to eat and not breeding (sucessfully) in the wild.
With Pan fish and Walleye I always keep the "eater size"
For bass, I try to kept a limit of under 2lbers each trip, and all the big guys go back.
I wish more people would use this method. It's good for the fish and the future fish would all come for bigger genetic strains.