Laid comes from lay, a verb that needs an object — you lay something down: "she laid the book on the table." Lain comes from lie, which takes no object — you simply lie somewhere: "he has lain in bed all day." If there is a thing being put down, you want laid.
The core difference
The split follows the two verbs, and the two verbs differ by whether they take an object.
- lay (needs an object) — lay, laid, laid: I lay the book down. I laid it down. I have laid it down.
- lie (no object) — lie, lay, lain: I lie down. Yesterday I lay down. I have lain down.
Why this one is genuinely hard
Because the past tense of lie is lay — the same string as the present tense of the other verb. "I lay down for an hour" is correct as a past tense of lie, and identical in spelling to the present of lay. English has set a trap here and there is no way round it but to learn the two rows.
The test
Ask what is being put down. If you can answer, use lay/laid/laid. If nothing is being put down — the subject is just reclining — use lie/lay/lain.