Never understood the "if you've already got six batsmen, you don't need a seventh" mentality. Ultimately it's about winning matches. All things being equal, a deeper batting lineup improves your chances - think of all the Tests that have gone right down to the wire in just the last 12 months.
If you focus on the numbers, it's a trade-off between extra runs conceded by poor keeping (not just byes - a good WK increases the rate at which you take wickets) and extra runs scored by superior batting.
Hence, Gilly over Flower.
Of course the deeper lineup is always better, but there is always a downside to getting that extra batting depth and you still have to weigh up which you want more. Example, do you want Ashley Giles' extra batting at #8? Or do want a guy who can actually threaten batsmen? Duncan Fletcher liked the batting, while I thought he was stupid Didn't lose them the 2005 Ashes though
If you wanted a really awesome batting keeper you can always go for Sir Clyde Walcott. He kept in about half of the Tests he played from memory. No idea how good he looked with the gloves on, but having him at #7 would be an absolute luxury for you and a nightmare for the team you faced.