A block cipher such as AES is a Pseudo Random Permutation or PRP. The mathematical properties of that does not allow for data loss. It's always possible to mess up the implementation though, for instance by treating the ciphertext as a string instead of binary data (encoding/decoding issues).
A mode of operation is required to perform encryption with a block cipher. These modes of operation should not confer any information about the plaintext (except the size). Therefore they need some kind of randomization or they will create the same ciphertext for identical data. This makes it impossible to distinguish $(E(x), E(x))$ from $(E(x), E(y))$ for $x \ne y$.
Because of this encryption will result in different ciphertext even for the same input. This is usually accomplished by using a unique initialization vector for each encryption. Still, modes of operation will still need to keep to the contract that $p=D_k(E_k(p))$. There may be limitations to the amount of plaintext that can or should be encrypted by a cipher.
Furthermore, integrity of data is not supported by all modes of operation, it is therefore important to use authenticated encryption (for instance by using GCM or by performing HMAC over the ciphertext) if data may be altered by an attacker or by a lower level (transport) layer.