A Smart Object is essentially a container that holds one or more layers inside of it. When you convert a layer into a Smart Object, you can scale or transform it non-destructively without losing any quality or detail. Moving a Smart Object will also keep its original quality unaffected regardless of how much you stretch it.