Initially there was no block size limit - it was thought that the fee market would naturally develop and would impose economic constraints on growth.
But this hypothesis failed after a sudden influx of new uses. It was still too easy to attack the network. This idea had to wait until the network was more mature to handle things.
Enter a “temporary” anti-spam measure - a one megabyte block size limit.
1) We never really got to test things out…a fee market never really got created, we never got to see how fees would really work in practice.
2) Turns out the vast majority of validation nodes have little if anything to do with mining - validators do not get compensated…validation cost is externalized to the entire network.
3) Miners don’t even properly validate blocks. And the bigger the blocks get, the greater the propensity to skip this step. Oops!
4) A satisfactory mechanism for thin clients to be able to securely obtain reasonably secure, short proofs for their transactions never materialized.