Probably they are less efficient at retail operations than a retailer, so have higher overhead. Also wouldn't want to undercut the retailers, who are providing valuable shelf space and marketing.
More the latter. Why would any retailer carry your product if you're going to undercut their price with your own direct consumer sales?
the retailer can be competitive by providing convenience/location, faster shipping speed, etc
Which cost a lot, so they need to get the product for a lower price before reselling. Also, because they are buying wholesale, they usually have the upper hand in the negotiations. It's quite common for their contracts to be contingent to the manufacturer not selling the product at the same price point