They don’t work. They only clean the outside of the chain (very well, admittedly) and increase the likelihood of BB and rear hub/freehub problems by having degreaser dripping around the place.
It is actually faster and more effective to remove the chain and shake it vigorously for a minute or so in a contain of white spirits. Do the same again in a container of hot water and washing-up liquid, then rinse thoroughly under a hot tap (or container of boiling water).
Then comes the most important part, and one which chain “cleaners” simply omit, and that is to dry the chain as quickly as possible – blow water from the links and hang it on a hot radiator or on the washing line in the sun. The speed means that there’s no chance of spot corrosion, the overall drying means that the fresh lube you apply actually has something to bond with (ie the metal you’re trying to protect); otherwise the majority of fresh lube is not going to protect and will be forced out of or thrown off the chain as it rotates.
Chain baths are snake oil. They do not work.