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.