What programming practices should typically be avoided in embedded systems, and why?

Technical