Everything is an account
Solana's design differs from Ethereum's in how it stores data. Its documentation calls an account the fundamental data unit for storing state. Your wallet address is an account holding SOL. A token balance lives in a token account. A program's data is kept in accounts too. All of them share the same structure.
Owners and permissions
Each account has an owner, which is a program. According to the documentation, only the owner program can modify the account's data or debit its lamports, while any program can credit lamports to a writable account. This is how Solana enforces who may change what: the wallet system program owns ordinary wallet accounts, and the token program owns token accounts.
Programs are stateless
Programs on Solana do not hold their own state internally. The docs describe them as stateless: they store their data in separate accounts that they own and can modify. This separation lets many programs run in parallel on different accounts, which is part of how the network achieves high throughput.
Rent and the minimum balance
Keeping data on chain uses resources, so every account must hold a refundable minimum lamport balance proportional to the size of its data. This is called the rent-exempt minimum, and the documentation gives a formula based on account size. The deposit is not spent; it is returned if the account is closed.
What it means for users
When you receive a new token for the first time, a token account may need to be created for it, which requires a small SOL deposit. That is why a wallet sometimes asks for a little SOL to receive a token. Keep a small SOL balance to cover such deposits and fees.