They are synonyms and can often be used in the same sentence. Both mean you do not receive or accept something (a physical thing or an idea, suggestion, etc.).
"I refused / rejected his job offer."
Difference in Grammar:
"Refuse" is often followed by an infinitive (to + VERB). Reject usually has a noun or noun phrase after it.
There is a slight differences in meaning, but it's rather subtle.
Refuse is a bit harsher / stronger. The person is insistent on not accepting something.
"I refuse to answer that question. No! I will not do it!"
Reject can be used to not accept something that is broken, not working properly, not in good shape/order.
"The company will reject any application that doesn't have a cover letter attached."