Picture a waiter juggling twenty tables: threads are like hiring one waiter per table — expensive, heavy, and the kitchen (OS) gets grumpy when there are thousands. Coroutines are lighter: same waiter, but they remember where they left each order, hop between tables, and do not block the whole floor while the soup simmers. That cooperative multitasking is what Kotlin builds on — with real structure we add in later lessons.
What is it, in plain words?