In general, at the beginning of the year, I will carry 2-5 bench hitters (depending on various factors). If things go normal, I will drop 1-2 for playing poorly, drop 1-2 for injury, maybe trade 1, and pick up 1-2 who have a good year (like McClouth). As the year goes on, I would hope to reduce number of bench hitters, usually targeting 1-2 bench hitters.
I think it depends primarily on a few factors: 1) How deep the league is, 2) Why they are riding the bench or on FA, 3) The matchup, 4) opportunity cost of the pitcher that would replace him.
Comments on each:
1. In a deeper league, a good bench hitter may have more value.
2. If they are just cold, I might not want to drop them outright. Lots of players will get into a temporary funk, and I might just want to play someone else temporarily. Also, some will be injured for a few days and you want to stick them in as soon as they are back.
3. For some players, I might put them in if they against a particular pitcher or type of pitcher.
4. This one is probably the most important (and related to #1). If I could pick up a pitcher that would be a regular contributor, I would generally not hesitate to drop a hitter of marginal value. But as the season goes on, this gets harder to do (find pitchers who contribute on a daily basis). It is rare that in July, I will pick up a regular player who has so much value that I would go below 1-2 bench players. In most leagues, there will be some other pitcher you would rather get rid of then to deplete the bench entirely.
Keeping 1-2 bench players gives you near maximum output in pitching, while maintaining enough flexibility in case of injury, slumps, etc.