By default, Swift uses replication to store three copies of object data across drives in the system. This 3 copy model provides a good tradeoff between cost, durability, and availability.
Swift's storage policy support allows you to specify where the data is stored in the system, and how many copies to make. It's possible to store some data only replicated two times, for example.
In addition, Swift's erasure code feature allows you to make use of erasure coding vs. replication. This results in less storage being required than the replica model, at the expense of more computation and network traffic being used to send and retrieve the data.