It looks to me TOC is a layer tree with checkboxes but no icons, while legend is a layer tree with icons but no checkbox.
What's the difference between TOC and legend in a web mapping app or anywhere?
Web apps certainly can do both. GeoPDF allows you to toggle layers.
Unless you want to print a map out, personally I don't see a reason that those two are separated.
For those who see significant differences, please take a look at the screenshots on my blog (The site doesn't allow me add an image because I am new?!). Or maybe try a custom widget on FlexViewer 2.2 for a clickable legend or a TOC with layer icons. And since search rules all nowadays, it allows you to search layers across services by keyword.
Then tell me if you still see they are two or one.