> It's the typcial 'one-stop for everything' problem: it's not bad a
It absolutely is bad. It's mineral oil with a few random additives thrown in. https://www.wired.com/2009/04/st-whatsinside-6/
Popular Mechanics tested WD-40 in five popular uses and found it to be the worst choice in every case. https://www.popularmechanics.com/cars/how-to/a6064/wd-40-vs-...
> Wrt lubricating properties: there's numerous threads of cyclists going all religious over this.
The cycling community overwhelmingly has been telling generations of newbie cyclists to stop hosing down their chains with wd40 and use a proper oil. There are a few people who swear by it, but they're people who have never tried anything else, or not actually looked at their chain wear.
> Because of the penetrating/cleaning/anti-rust properties combined it has the tendency to give a super clean chain with not a lot of dirt in it
WD-40 does not have any special penetrating abilities. Further, the gaps in a bike chain between the various parts are not so small that one needs a penetrating lubricant.
What is important is wear, not how clean the chain looks. Wear happens on the pins, inside rollers, and the holes on the chain plates. The chain lengthening means wear on the sprockets, which are significantly more expensive than the chain. A 10-speed chain is maybe $50 at most for a pretty nice one, and chainrings plus cassette can be significantly more than that.
The proper chain lube to use depends on the intended conditions, but any lubricant needs to have sufficient film strength - ie keep metal from directly contacting metal.
WD-40 has virtually zero film strength. There are a thousand lubricants out there that are better.
> (unlike any other pure lubricant since those just attract and accumulate dirt).
I'm not sure what "pure lubricant" means, but there are plenty of dry lubricants suitable for chain use. They are designed for dry conditions, especially dusty ones.
Riding in wet conditions usually means you're using a fairly thick chain lubricant.
Periodically measure the chain with a ruler to check for chain stretch and replace before wear gets too high that it starts destroying your cogs.
Editing to add:
If you want to use a wet lubricant for chains, bar and chain oil (ie chainsaw oil) will work just fine.
If you want a dry lubricant for chains, use something like Finish Line PTFE. Dupont themselves also sell a PTFE spray, as do several other companies.
If you want a crazy penetrating lubricant, McLube's Sailkoat is pretty crazy stuff, but a large spray can is $20+.
If you want rust prevention/protection, LPS-3.
If you need a penetrant or rust breaker for bolts, you can try the following: Mouse Milk ($$$), Kroil. Mouse Milk is weird stuff, I believe mostly d-limolene (so don't use it near waterways!) but apparently popular for lubricating very high temperature stuff (turbo wastegates, for example) because it does not leave ash/residue behind.