One English verb, two Spanish jobs
English "to be" does double duty: it identifies things (she is a doctor) and it describes their state (she is tired). Spanish splits that job between two verbs that are not interchangeable. Using the wrong one doesn't just sound foreign — it can genuinely change what a sentence means, which is different from most por/para-style mix-ups where the error is purely grammatical.
The textbook shorthand is "ser for permanent, estar for temporary," and it gets learners most of the way there. But it has real exceptions: está muerto ("he is dead") uses estar for something about as permanent as it gets, and fue profesor por dos años ("he was a teacher for two years") uses ser for something clearly temporary. The more reliable question is: is this sentence defining what the subject fundamentally is, or reporting a state it currently happens to be in?
Ser: identity, origin, and defining traits
Identity and origin. Es de Colombia. Soy profesor. (She is from Colombia. I am a teacher.) Where someone or something is from, and what category it belongs to.
Inherent characteristics. Ella es simpática. (She is nice — as a trait of who she is.) This is the sentence Spanish teachers use most often to introduce the contrast, because swapping in estar here doesn't just sound wrong, it changes the claim being made (see the next section).
Time, dates, and where events happen. Son las tres. La fiesta es aquí. (It's three o'clock. The party is here.) Note that last one: the location of an event uses ser, while the location of a physical object or person uses estar — a distinction that trips up a lot of learners because both look like "location" sentences on the surface.
Material and possession. La mesa es de madera. El libro es de Ana. (The table is made of wood. The book belongs to Ana.) What something is made of or who it belongs to is treated as a defining fact, not a state.
Estar: location, condition, and the result of a change
Location of people, places, and objects. Madrid está en España. El libro está en la mesa. (Madrid is in Spain. The book is on the table.) Physical location — where something or someone actually is right now — is estar's territory almost without exception.
Temporary or perceived condition. Ella está simpática hoy. (She's being nice today.) This is the direct contrast with ella es simpática above: swapping ser for estar with the same adjective doesn't just change the tense feel, it changes the claim from "this is who she is" to "this is how she's acting right now" — implying it might not usually be the case.
The result of a change. La puerta está abierta. (The door is open.) Someone opened it; estar reports the resulting state, not the identity of the door.
Ongoing action (progressive tense). Estoy comiendo. (I am eating.) Every Spanish progressive construction uses estar plus a gerund, never ser — this one has no exceptions.
The adjectives that flip meaning depending on which verb you use
A small set of adjectives change what they mean depending on which verb pairs with them, and these are the clearest proof that "permanent vs. temporary" isn't quite the right lens. Ser aburrido means "to be boring" (a trait); estar aburrido means "to be bored" (a state). Ser listo means "to be clever"; estar listo means "to be ready." Ser malo means "to be bad" (as a person); estar malo means "to be sick" or "to taste bad" (a condition). In each pair, ser names what something is and estar names what state it's currently in — the adjective's dictionary meaning barely changes, but the claim being made about the subject does.
Ser also happens to be one of Spanish's most irregular verbs in its own right — its full conjugation table is worth a look if soy, era, and fui don't look to you like forms of the same word. And if por vs. para is next on your list of mixed-up pairs, that one works on a similar logic: stop translating "for" and ask what job the word is doing.