Lý do can also mean reason(ing) so there is a difference there. A reason is just some explanation one gives for something while a cause is the actual factor or factors leading to something.
The earthquake was caused by the tectonic plates interacting underneath the Earth.
Some people believe that earthquakes are the result of homosexual acts. XD
I'm kinda adding to what Teh Vanarch is saying. An example using "lý do" would be "đó là lý do". Literally it means, "that is the reason" and it can imply "that's why".
Ba của tôi would always end his lectures with "đó là lý do!" =)
My favourite dad-ism whenever I explain something to him is "à, thì đó là lý do!" = "oh, so that's why!"