The main ideas it that theoretically the demand should shift to greener alternative. However, as far as I understand the issue is that currently it shifts the demand to another producer. There is this concept of additionality in carbon offsets but it's intractable to measure. IMHO the only way to really prevent it would be to pay most or all polluters so they stop. One day we might get there when we've offset most emission sources of a given type (ie say land forest). But in the meantime, those offsets are not actually moving the needle. And also, does that mean we should start paying via carbon offsets every single owner of an oil pit so they don't get oil off the ground?