Difference between Cinder and Swift

What is the Difference between Object storage and Block Storage?

Block storage in a nutshell is any local disk drive, JBOD, RAID iSCSI device etc.
Cinder is one such block storage. You provision it, attach it to your Compute instance, format it with a file system, mount it and then you use it. You can create directories, files, store data etc. You can detach it and attach it to another instance and the data will be persistent.

Object storage on the other hand are characterized by Flat storage inside of containers or buckets rather than a directory tree structure. Object store like Amazon S3 uses Key-based access to the objects. Another distinguishing characteristic is that objects can be stored and accessed from anywhere in the web using a HTTP based API. Most Object stores offer high durability for any data stored in it, through redundancy in multiple data centers. Other popular Object stores are Azures Blob Storage, Google Cloud Storage, OpenStacks Swift.

Object storage systems allow relatively inexpensive, scalable and self-healing retention of massive amounts of unstructured data.
Block storage is normally abstracted by a file system or database management system (DBMS) for use by applications and end users.