English has one word for ‘we’ and leaves the rest to context. Indonesian has two, and the choice is never optional.
Kita includes the person you are speaking to. Kami excludes them.
The difference in one example
You are with a friend, talking to a third person.
Kita makan di sini. ‘We are eating here’, and you are invited.
Kami makan di sini. ‘We are eating here’, and you are not.
Same English sentence. Two very different social situations.
Why it matters more than it looks
Using kami where kita belongs quietly shuts the listener out. It is not offensive, but it is noticed, in the way that saying “us” and meaning “not you” would be noticed in English.
The reverse is safer and warmer. When in doubt, use kita: including someone by accident costs nothing.
The everyday shortcut
In casual Jakarta speech kita has spread to cover both, and you will hear it where kami would be strictly correct. This is a live change in the language, not a mistake you should copy while you are learning: in formal speech, in writing, and outside the capital, the distinction is intact.
A pattern worth noticing
Indonesian repeatedly makes distinctions English leaves to context. Two words for ‘we’, two for ‘no’, two goodbyes depending on who is leaving. In exchange it gives you no verb conjugation, no gender and no articles. It is not a harder language, it is a differently shaped one.