The words are similar, but "grand" has Latin roots. It has the idea of "imposing".
"Great" has Germanic roots and is used to refer to non-material things. Material things are often "large" or "big". World War I
was called at the time "the Great War". "Great" can mean "impressive" or "important" or "monumental"; however, it can also mean "wonderful."
In Ireland, it's common to hear people use "grand" to mean "wonderful" as well, so in that country, the words would be interchangeable for both meanings.
In Informal English, the word grand
also means "mil dólares ou libras".
Now, regarding on your question, the word grand
1. Great in size, and fine or imposing in appearance or impression; illustrious, dignified, or noble (said of persons); majestic, splendid, magnificent, or sublime (said of things):
A grand monarch.
A grand view.
A grand conception.
2. Having higher rank or more dignity, size, or importance than other persons or things of the same name:
A grand lodge.
A grand vizier.
A grand piano.
You should read: http://wikidiff.com/great/grand
Reference: Pearson Education. Longman Dictionary. 2004.