Many chain stores end up doing this. Krispy Kreme had a great business because people would drive an hour out of their way to eat there -- but that means that having two locations within an hour of each other is redundant.
Starbucks does this intentionally. They place franchises within walking distance of each other (in downtown Boston, there are literally 2 Starbucks on opposite sides of the block), knowing that they'll cannibalize each other's sales. But they do it for branding reasons: by placing stores so close together, they make Starbucks ubiquitous and turn it into a cultural phenomenom, which helps the corporate bottom line at the expense of individual franchisees.
It seems to have worked fairly well, at least up until the recent economic downturn.
Dunkin Donuts as well. In my town, there are 3 Dunkin Donuts within a 500 foot triangle. One is standalone, one's in a supermarket, one's in a gas station.
Crossing the street during a morning commute in a busy city is not trivial. There probably is some cannibalization of sales, but they may make up for it with the people who don't want to take the extra minute or two it costs to cross the street during rush-hour.