고맙습니다 vs 감사합니다.
The two have practically the same meaning and both are widely used.
감사합니다 sounds a bit more formal, because감사 is hanja(Chinese characters)-based and 고맙다 is native Korean.
Their difference is more pronounced when they are used in a less polite, informal context.
Compare these four cases:
- (polite, formal) 고맙습니다, 감사함니다 - about the same.
- (polite, informal) 고마워요, 감사해요 - 감사해요 is slightly less natural.
- (casual, formal) 고맙다, (감사하다) - 감사하다 is unnatural and almost never used in this form.
- (casual, informal) 고마워, 감사해 - 감사해 is not as natural as 고마워.
So 고맙다 works better than 감사하다 as it gets more casual and informal.
감사합니다 on the other hand has even more polite forms which are 감사드립니다 and 감사드려요.
You can't use the -드리다(honorific word for "give") form with 고맙다.
But all this may be too much information for people who are just starting out :-)