Irina,
There is a difference only on the range of meaning. "Put" has a wider meaning, whereas "lie" is more limited.
"To put" is to place anything anywhere in any position (horizontal or vertical) (лежать или класть), "to lay" is to place something "only horizontally" (только лежать).
We put the books on the table.
We lay the books on the table. (Only if the books are placed horizontally).
We place the books on the table.
If the books are placed "vertically", you cannot use "lay". Only "to put" and "to place".
Я надеюсь, что это помогает.