To keep it simple for those learning Spanish, as a native speaker I would translate the verbs as follows:
Amar = to love, used between loving partners, like a husband wife combination. I would never tell a close friend of mine, or family member, for example, te amo.
However, in some spanish countries it might be normal to say te amo to a close family member, specially your mom. In fact, little kids might tell their moms, "te amo," probably because at an earlier age, it is easier to pronounce than "te quiero."
But as you get older, you start to tell your parents, "te quiero," "los quiero." But, yes, I've heard some friends of mine tell "te amo" to their mom, specially. And as a kid, you have a saying, "amo a mi mamá." (I love my mom).
Querer = to want, to love.
Querer can be used to express "i love you" to friends, family members, even your pets, if you so desire.
Also, if you're starting a relationship with someone, usually you would tell the person, te quiero and not te amo.
An easy comparison would be for example, if you meet a person today, and you like that person; you go on a 2nd date, and a 3rd date. You might call your friend and say, "I'm going on my third date because I like this person." It would be strange to say, I'm going on a third date because I love that person. Love carries a deeper feeling than liking. That's kind of the difference between querer and amar, as you are dating somebody.
And yes, querer can also be used between loving partners to express love, and I know many couples who would say in public te quiero, but they wouldn't say te amo because it kind of sounds dramatic---well, at least in public. Te amo is something you would tell your loved one in a private setting, unless you're out with close friends and the other couple is comfortable in that setting using the word amar.
Querer also means to want, as in, quiero una galleta (I want a cookie). Quiero ir a la biblioteca (I want to go to the library), etc.