Two weeks is a fair wait time for most items that are listed as typical inventory / stocked items. Custom orders or built-when-ordered items should be expected to take longer, but lead times should be communicated at purchase. We should understand those wait times can be a couple of months.
The problem I am having is some websites don't list current lead times, or that the item is on back-order. They just show it as in-stock and let you add it to the cart like it's ready to go. I have purchased items, and then get an email notice of extended lead times, up to several months. Luckily, in those instances, I have been able to cancel those items, order from another website, and have it in less than a week.
Communication is very important. In my opinion, the key is retailer / vendors setting the proper expectation of wait times for in-stock items and custom orders. Then, it is up to us whether we accept those terms.
The 'smiling box' has shifted our expectations of how quickly we should expect stuff.