I believe this really can only be determined by your stocking and your tank's rated volume of water. You wouldn't want to put a canister filter in a 10-gallon tank since it would blow around the water way too fast for most all species.
I would say in my experience, it would go (from best to worst); Canister Filters, Internal Filters, Hang On Back Filters, Undergravel Filters.