what is the difference between the words shop and buy?
'To shop' means to look around with the intention of buying something. It does not imply that an act of buying must occur.
For example:
1) "I shopped at Madisons for a pair of shoes." - I might have bought a pair of shoes there, but not necessarily. Maybe I just looked.
2) "I bought a pair of shoes at Madisons." - I definitely purchased shoes at Madisons. It must also be true to say that I 'shopped at Madisons', or else I couldn't have bought shoes there; but it might not be true that I had to 'shop around' - perhaps I knew what I wanted straight away.
It may be worth adding that 'to shop' also has a slang meaning. It means to inform on someone. For example:
"John was my friend, but he shopped me for a lighter sentence."