I am glad to see this by Oliver Burkeman (I blogged about his excellent book last year). The basic message is simple. A lot of our bad habits are unconscious attempts to compensate for feeling bad about ourselves in some way. For example, some people eat emotionally - they eat when they feel bad, not because they are hungry.
The ironic thing (that Oliver calls attention to) is that one of the ways society attempts to break people of their bad habits is through public shaming. He specifically mentions an article in the Daily Mail that calls out young women for being fat. So here is the illogic. They make the targeted person feel bad about herself, so she compensates by doing more of the habit you are trying to break her of. Real smart!!!