You do not need to use the blockchain for every operation you do.
Actually, you should avoid to interact with it as much as possible.
Imagine you want to do an ethereum chess game (winner wins monney).
The naive way to do so is to implement all the logic of a chess game in a smart contract, but it will be very expensive.
A better way to do so is as follows:
Player A and Player B decide (out chain) to play a game
where the winner wins w.
They both commit a sufficient amount of money M = c + w/2 where c will be define later (so the smart contract has 2M = 2c+w ethers).
They play off chain, but each of them signs his messages.
So at the end of the game, say A won and B lost.
The contract has to be as follows:
if B accepts his defeat, he get c and A gets c + w.
if B and A both claim they won, then A has a proof of victory
(the authenticated exchange with B) so A can use this proof and :
A gets w + 2c - verification cost
(the - verification cost comes from the fact he has to pay for the gas).
B gets 0.
So we should define c as "max verification cost".
This way, the logic is on chain if you need it,
but there is a strong incentive not to use it
and in almost every case it is cheap.
My point is: logic on chain can be expensive, but you do not necessary need
to use a lot of it. And then, you and your user get the decentralization security.