What does it mean by on-chain and off-chain betting ?
On-chain betting:
Each bet you place is in the form of a Bitcoin transaction. Each bet you win sends you your winnings in a new transaction.
Off-chain betting:
You deposit some coins into an account on a website. You get to make lots of bets on the site without making any more Bitcoin transactions. You have a "balance" on the site which is really just an entry in a database. Then you withdraw your winnings to your wallet.
Pros and cons:
On-chain betting has a public audit trail. You can prove you made each bet.
On-chain betting uses a lot of space on the blockchain. Everyone node has to store every bet forever (or until we invent pruning).
On-chain betting is typically slow, since we need to wait for confirmations to prevent double-spends.