Money doesn't have a linear utility function. The more money you have, the less the next $X are worth.
This means, even for "0 sum" games where there isn't a house taking a cut, gambling will typically have an average net utility loss. You make as much money as you lose, but that's money worth more when you lose it then when you make it (past the first $epsilon).
Insurance on the other hand will typically have a net utility gain despite being a net dollar loss. When you "win", you would otherwise have very little money, so the money is worth a lot of utility. When you lose, you have lots of money so it only costs you a small amount of utility.
This means, even for "0 sum" games where there isn't a house taking a cut, gambling will typically have an average net utility loss. You make as much money as you lose, but that's money worth more when you lose it then when you make it (past the first $epsilon).
Insurance on the other hand will typically have a net utility gain despite being a net dollar loss. When you "win", you would otherwise have very little money, so the money is worth a lot of utility. When you lose, you have lots of money so it only costs you a small amount of utility.