When should we use cost and when price? Is there any difference between these words?
The short answer: when used as a noun, the "price" is the amount charged for something, and the "cost" is the amount paid for something.
When a person is discussing buying something at retail, the most common noun used for the amount charged by the seller is "price."
I wanted to buy a white cotton jumpsuit, but the price was too high, so I didn't.
When used as a noun, "cost" refers specifically to the amount paid by someone for something. It is most often used in an accounting or business context.
Our cost per item is three dollars and our gross revenue per item is sixty dollars. That's a fifty-seven dollar profit on each jumpsuit sold!
It is not exactly wrong to use "cost" as a noun in the same way you would "price":
I wanted to buy a white cotton jumpsuit, but the cost was too high.
However, this is not as idiomatic, at least in American English; it sounds a bit melodramatic. You would be more likely to use "cost" as a noun where it is understood that you are discussing the impact on your finances, rather than the amount the store asked for the item:
Sure, it was expensive, but the cost isn't what's important: it's how the jumpsuit makes you feel.
Confusingly, you can use "cost" as a verb to describe the amount charged for an item:
That's a lovely jumpsuit; how much does it cost?
"Price" as a verb is used only for the act of setting a price:
Why would you price these jumpsuits so high? We poor students need jumpsuits, too!
When you purchase an item, you pay the "price", that is the amount of money that the seller receives. However, you may have additional expenses, like taxes, payment for transport, payment for having the item installed. All these add up to the "cost". Or ordering things online: Cost = Price + Packaging + Postage.