CDN is a system of servers distributed across numerous data-centers. The data therefore is not stored at the same place - CDN stores your websites and different other web-objects on multiple servers in different locations. Such data as text, images, videos, documents, scripts, streaming data and applications can be easily spread across CDN servers. The aim is to give users maximal uptime and performance. In case of dedicated server you rent it or own it physically and don't share any resources with others.
Dedicated servers allows full control over it and over processes that happen on it. At the same time, if dedicated server is not full-managed, it requires bigger experience in administration. If it is full-managed, the hosting company performs administrative tasks for you.
CDN may be called multifunctional network. It is a good idea, in fact, to use both - CDN and dedicated server. It will allow to save money in the long run, and also if you use CDN there is no need to choose too high-performance dedicated server because CDN allows to remove part of the load from it. The use of those two methods simultaneously increases reliability of your project.