Swift provides a scalable, highly available object store, that is available through a HTTP REST interface (only).
Ceph provides a scalable, consistent object store and a bunch of interfaces to access it, including native access, an http REST API, block devices and a filesystem-type interface.
Swift is more appropriate for storing objects that are independent of each other, since it does not guarantee consistency. Example: static content for a website (Wikipedia uses Swift).
Ceph is more appropriate for storing dependent objects such as virtual hard disks. Example: access to a block device or filesystem over the network for virtual machines.