A lot of confused people about this issue...
Actually when I was in college there was a Japanese girl writing a thesis on this issue: how in other languages there's two ways to say I love you; one more fraternal and another one more passionate, while in English there's only The One dreaded "L" word...
"Te amo" means I love you (passionate or intense love). You usually tell this to your lover or somebody you are romantically involved with. It would also be ok to tell this to your parents, children etc. You can also use it to say you REALLY love something, for example "Amo el golf"= I love golf. If you just “like” golf you would say "me gusta el golf"
"Te quiero" also means I love you but it is more casual, you can tell this to a friend and it would mean friendly love, not sexual in any way. However, you can say "te quiero" to your lover and it would still mean I love you.
To say either "te quiero" or "te amo" does not have the same connotation for native Spanish speakers as it does for Americans; it doesn't mean “I want to marry you”. Maybe that's why we are not afraid to tell everyone we love them.
If you want to say "I want you", you would say "te deseo" .
"Te deseo" just by itself means "I want you". But if you combine it with something else like "te deseo un feliz viaje", you are just wishing somedody a good trip.
"Quiero" can also mean I want, but in a totally different context, for example "quiero salir a caminar"= I want to go for a walk. “Quiero comprar un perro”= I want to buy a dog. If you say "TE quiero", just by itself, you are telling somebody you love them and/or you like them. You are NOT telling them you want them.
Love is confusing... ;-)