What are the key differences between relational and non-relational databases, and when would you choose one over the other?