What Is the Difference between Hamd  and Shukr?
Question

Is there a difference between hamd (praise) and shukr (thanks)?
Praise be to Allah.The scholars differ as to whether there is a difference between hamd and shukr; there are two views:

The first view is that hamd and shukr mean the same thing, and that there is no difference between them. This view was favoured by Ibn Jarir at-Tabari and others.

At-Tabari (may Allah have mercy on him) said: 
“What is meant by the phrase al-hamdu Lillah (praise be to Allah) is: thanks be to Allah, may He be glorified and exalted, alone to the exclusion of everything that is worshipped besides Him… Then after that, he (may Allah have mercy on him) said: There is no difference of opinion among the scholars of the Arabic language concerning the ruling on the words of one who says “al-hamdu Lillahi shukran” [as opposed to the more usual “al-hamdu Lillahi hamdan”] as still being valid, because that is sound according to all of them, because when praising Allah one may say hamd (praise) instead of shukr (thanks) and vice versa. If that were not the case, it would not be possible to say “al-hamdu Lillahi shukran”.” (Tafsir at-Tabari, 1/138)

The second view is that hamd and shukr are not the same; rather there are differences between them, including the following:


Hamd can only be expressed verbally, unlike shukr, which may be expressed verbally, in the heart or by one’s physical actions.
Hamd may or may not be in return for a favour or blessing, unlike shukr, which can only be in return for a favour or blessing.

Ibn Kathir (may Allah have mercy on him) said, in the context of refuting the view of Ibn Jarir mentioned above (1/32): 
“There are some reservations about what Ibn Jarir claimed, because it is well-known among many later scholars that hamd refers to praising in words the One Who has praiseworthy attributes, whether intrinsic (having no direct impact on others) or transitive (having a direct impact on others), whereas shukr refers to praising Him for an attribute that has a direct impact on others; shukr may be a feeling in the heart, words expressed on the lips, or gratitude expressed in physical actions.
But they differed as to which of them – hamd or shukr – is more comprehensive than the other, and there are two views. In fact, however, each of them is more comprehensive than the other in different ways.
Hamd is more comprehensive than shukr in the sense that hamd is applicable to both types of attributes, intrinsic and transitive. So you may say: “Hamadtuhu li furusiyyatihi (I praised him for his horsemanship), or you may say, “Hamadtuhu li karamihi (I praised him for his generosity).” But hamd is narrower in meaning than shukr in the sense that it can only be expressed verbally. Shukr is more comprehensive in the sense that it may take different forms; it may be expressed verbally or in physical actions, or it may be something that is felt in the heart, as mentioned above. But shukr is narrower in meaning in the sense that it can only be for transitive attributes; one would not say “Shakartuhu li furusiyyatihi (I thanked him for his horsemanship)”, but one would say, “Shakartuhu ‘ala karamihi wa ihsanihi ilayya (I thanked him for his generosity and kindness to me).’ This is the summary of the view of some of the later scholars. And Allah knows best.” 
Based on that, Abu Hilal al-‘Askari differentiated between the two. He (may Allah have mercy on him) said:
“The difference between hamd and shukr is that hamd is verbal praise for a favour, whether it has to do with virtues such as knowledge or favours such as kindness.
Shukr is an action that expresses veneration of the Bestower of the blessing for the blessing, whether it is expressed verbally, and in the form of belief and love in the heart, or in the form of physical action or service.
Hamd may be used in a more general sense, because it refers to blessings, favours and other things, but it is limited in the way in which it is expressed, because it can only be verbal. Shukr is the opposite; it has to do with blessings and favours only, but there are more ways of expressing it, verbal and otherwise.
So both terms may be general in some ways and limited in others; they may both be expressed verbally for a favour. But they differ in that only hamd may express praise for an attribute such as knowledge, for example, whereas the sincerity of shukr is limited to love in the heart for some favour or kindness.” (Al-Furuq al-Lughawiyyah, 201-202)
Ibn al-Qayyim (may Allah have mercy on him) said in Madarij as-Salikin (2/246): 
“The difference between them is that shukr is more comprehensive with regard to types and causes, but it is more limited with regard to what is connected to it (transitive attributes). Hamd is more general with regard to what is connected to it (both transitive and intrinsic attributes), but it is more limited with regard to its causes.
What this means is that shukr may be expressed in the heart in feelings of humility and submission, may be expressed on the lips in words of praise and acknowledgement, and may be expressed in physical actions by obeying and following commands.
Shukr is connected to favours but not intrinsic attributes. So it cannot be said “we thank (shukr) Allah for being Ever-Living, All-Hearing, All-Seeing, All-Knowing”, but He is to be praised (hamd) for these attributes, just as He is to be praised for His kindness and justice.
Shukr may be for kindness and favours. Everything to which shukr is connected, hamd may also be connected, but the converse is not true. Everything that may be a cause for hamd may be a cause for shukr, but the converse is not true, for shukr may be manifested in physical actions, whereas hamd is in the heart and on the lips (beliefs and words).” 
And Allah knows best.