Maybe it's just me, but I don't think it's as complicated as you guys are making it out to be.
First of all, porter and stout are relative. I don't think all porters and all stouts have a lot of overlap. I think we're talking about what the BJCP calls a robust porter, and its relationship with what the BJCP calls a dry stout or an American stout.
Just to get it out of the way, brown porters (e.g., Fuller's london porter, Sam Smith Taddy Porter) are different beasts all together. They're more like roasty english brown ales, than they are like stouts. We're talking about beers like Anchor Porter, Edmond Fitzgerald porter, Deschutes Black Butte, Bell's Porter, and Founders porter. I say these beers because I think they are very illustrative of the style. Again with stout, we're talking about dry stout (Guinness, Murphy's, Beamish, Victory Donnybrook) and American Stout (Sierra, Deschutes Obsidian, Shakespeare, etc.,). I don't think we'd thnk that porter is close to a milk stout, and imperial stouts are kind of their own beast altogether.
Now that I think I've defined the area of confusion, I think that we can really talk about what the basic difference is between the two. In the modern world, not based on any historical definition, I think there's really a single factor that defines the difference between porter and stout. It's not the use of a single ingredient, but rather it's the balance of the ingredients used. Stout is a roast dominated beer with a supporting malt character The upfront and principal note in a stout is the roast. Typically you'll see robust barley, but it's not necessary. Shakespeare stout is primarily chocolate malt. The roast malt is always in high %, and it's the dominant flavor of the beer. On the other hand, porter is a malty beer with a significant roast character. In porter the roast is one player among many flavors, and while prominant should always be well balanced by a strong malty note, usually from crystal or mellanoidin rich malts. I see a lot of homebrew porters that are just all roast. That is a bad porter.
Take sierra, deschuttes, and many other good breweries and you'll see that balance defines the difference between their stout and their porter. I think that's what has lead to the black malt / roast barley differences between stout and porter. Black patent, when used in the same amounts as roast barley, has a much milder taste. As a result its easier to get a supportive role with it than with roast barley. However, roast barley needn't be excluded from a good porter. Edmond Fitzgerald, which is arguably the best robust porter in the country, uses roast barley (see December 2009 issue, no longer online).
I haven't played with brown malt a lot, though my friend Ken, who is probably the best porter brewer I know, is in love with the stuff. From what I understand, is that the reason it helps to brew such a nice porter is precisely because it captures the qualities which I spoke of. It has a mild roasted character and a toasty biscuity character. When used it adds roast blended with a complex mellanoidin-rich maltiness that makes a porter. If you used it in a stout, it might distract too much from the upfront roast that dominates the style.
So where does this put us? I've been to plenty of breweries where they have a porter that's really more like a stout, and occasionally, a stout that's much more like a porter. Just because these examples exist, doesn't mean they're good examples. If a small brewery served you beer they called an IPA that wasn't bitter and barely had any hops (yes I'm speaking about your Fire Island Beer Company) most of us wouldn't accept that its an IPA. Doesn't mean its a bad beer, it's just not an IPA. Same goes for these beers.
These is my understanding of these styles. It's not as simple as a lot of disctinctions I've heard, and there probably is a narrow style space where there is some signficant overlap between a very roasty porter and a very malty stout. However, I've yet to have a good example of stout or porter that has changed the way I think about it.