IDG Answers is a community of experts who are passionate about technology. Ask a question or answer one below.
Both are going to offer some of the same advantages. There is usually going to be a cost savings compared to building your own data room or data center either with co-location or a cloud provider.
Off the top of my head, one of the advantages that come to mind for co-location is (generally) more available tech support, which can be particularly helpful for smaller businesses. The main thing that it offers over a cloud provider is that you are still on your own dedicated servers, since you typically lease cabinets, rack units, etc from the data center. With the cloud, this is not necessarily so, you are sharing resources in a different way. Even so, most cloud providers make a serious effort to maintain security, and you data is probably as safe or safer than it would be in-house. An additional advantage of the cloud is that it is readily scalable in a way that data centers are not. Data centers are kind of a pre-cloud thing to me, I would rather use a cloud provider, but be very picky in choosing the right one.
Co location: Typically a data center where you have your own servers using their bandwidth and you lease space.
Cloud: you can scale up or down as needed and is setup in a cluster of servers so this can happen and so that if your site goes down your still up because it moved to a different server.
Cloud can be set up in a colocation data center though.