Originally these verbs were different (not sure, whether it was in Old Russian, or in proto-Slavic). "Класть" meant "to put inside" (cf. Клад), while "Ложить" meant "to lay on the surface" (cf. Ложе).
But nowadays this difference is completely lost, and we have what we have now: класть isas imperfective, and prefixed formforms, such as положить isas perfective. You shouldn't say покласть or ложить anymore. That's it.