Amazon allows free inbound data transfer, but charges for outbound data transfer. I don't understand what that exactly means. Does this means that data you upload to amazon is free, but data you download is not?
You have it correct. Data "inbound" to Amazon (that is, packet data that is destined for the Amazon cloud servers; for example, uploads and client requests) are free. Data "outbound" from Amazon is billed (that is, downloads from the cloud and responses to client requests).
Anyway, here is a picture that may help you visualize this