Execute just block one first. Examine the outputs. Notice how thingOne and thingTwo are different. Then execute block two and observe how the outputs change. Also notice how thingOne is the same and thingTwo has changed.
block one
block one
In[]:=
Clear[thingOne,thingTwo,x]
In[]:=
(thingOne=Dynamic[x^2])
Out[]=
2
x
In[]:=
thingOne//FullForm
Out[]//FullForm=
Dynamic[Power[x,2]]
In[]:=
Dynamic[thingTwo=x^2]
Out[]=
2
x
In[]:=
thingTwo//FullForm
Out[]//FullForm=
Power[x,2]
block two
block two
In[]:=
x=5
Out[]=
5
In[]:=
thingOne//FullForm
Out[]//FullForm=
Dynamic[Power[x,2]]
In[]:=
thingTwo//FullForm
Out[]//FullForm=
25