Originally posted on 08/26/2017:

A number of different things are going on. Though Segwit is now implemented, allowing room for more transactions at once and eventually lower fees due to less buildup of transactions, wallets used to send bitcoin are mostly not yet Segwit capable (the sending address will have a 3 at the start instead of a 1).

Miners have been mining bitcoin and BCH lately because BCH has been more profitable at times. Fewer miners, the longer the wait for bitcoin transactions. Right now they are mining BCH; check back tomorrow and it should be much better.

Also because some companies want even bigger blocks, they are spamming low fee transactions to make it look like you need to make the fee bigger and to make their argument look good. Happens at times; the quickest time to get confirmations usually is anytime after midnight until early morning in US.

The best thing you can do is check fees page before sending and pick the lowest fee range that is under 1000. Don't worry about the time estimate; you are just looking for a range that has as few transactions as possible. It will get included. I do that every transaction and the longest I've had to wait using Blockchain is 1 hour. Never just go with their suggestion.
If you need it confirmed right away, then your only choice is to go with a fee range that is under 1000 transactions and surrounded on both sides with few transactions.

Still lots of different opinions and battles being waged, so don't expect great progress quite yet. Best thing you can do is plan ahead or check the fees page many times a day so you can time your transaction better.