While SPV mining is one reason for not full blocks (as franky1 nicely explained), the second reason is sometimes miner adds transactions with certain fee/byte only. In the past I have seen blocks around 500-900KB, with no transaction included under for example 25 Satoshi/byte.
So thinking there going to be always full blocks filled up to maximum capacity is wrong, its the miners who decide what transactions to add and some define spam as for example under 25 Satoshi/byte transaction not worth adding even if there is available space.
Because during some days/hours people send more transactions (peak times), it make sense to increase block sizes above 1MB, so the Bitcoin user experience is good even at peak times.
Very interesting.
I wonder when btc miner peak activity is, and how long it lasts.
Is it possible for partially filled blocks during periods of inactivity to accumulate over time?
The article claims many blocks are 99, 369 and 860 KB.
Recently, AntPool has been mining a number of blocks with sizes of around 99 KB, 369 KB and 860 KB.
That seems like something that could cause congestion during periods of inactivity which acccumulate over the long term.