I remember that back when Bitcoin was starting to get attention, one of the key arguments against eg Paypal was that you could transfer your money without paying any fee (and yes, the tx didn't get stuck). But now the network has reached the point where transaction fees are sometimes higher than Paypal or similar.
True. That's very annoying.
If several hundred people send one cent to your traditional bank account, you have a few dollars. The bank won't tell you to forget about that money because it came in as cents.
That's misleading. With PayPal for example, if you sell goods or services you have to accept a 3.4% + 20p fee for it, which makes all payments below 20p useless and all transactions below about £1/$1 impractical to take, or "dust".
The average Joe's attempt to collect satoshi was based on the gimmick of Bitcoin, not for what they regard as "real money". You couldn't imagine traditional fiat currencies having pages like that, where you just fill in a captcha and get free fiat, because it would be just as dumb.
I agree that it should be possible to do things like that, which is part of the reason for faucets existing in the first place - for the sake of existing - but I don't think their tiny amount of Bitcoin was that meaningful anyway and they were just wasting time.
What about:
1. Increase blocksize so that more transactions can be included into a block to lower fees. Why isn't that done?
There's a lot of argument about that. Some people argue that it would increase the cost of running full nodes too much, eventually leading to centralisation and thus leaving nodes too public and/or prone to attack. I don't particularly agree with this for small increases, but I can see the argument that it's a "slippery slope" of sorts.
Some people go for SegWit paired with more offchain solutions like the Lightning Network, or for both of the two things at the same time. The argument between the two "sides" is mainly what stops anything actually happening.
3. Transactions with low/no fees should be included if the sender is willing to wait long enough, like 2 weeks, or a month.
That would require cooperation. Currently, a lot of transactions get rejected from mempools in that time (default Bitcoin Core time right now is 2 weeks, I think).
4. Low/no fee transactions could require extra work on the clientside so that spam attacks are not feasible (like a few mins requiring 100% CPU).
Spammers who are working hard or professionally wouldn't find this an issue if the actual cost in fiat was still low. If it was high, there would be no point in sending the "low fee" transactions anyway.