HOW CDN works


I'm just new to this and have a basic understanding how CDN works? My questions are:

1. How does CDN sync data with web servers for video/images? If I have a user to upload a video to my site, will it get stored directly in CDN or it comes to my webserver first and then sync-ed with cache server?

2. How to have only the dynamic video/image delivered through CDN while the rest is served by a webserver?
3. How sync happens and who pays for the bandwidth for sync?

I'd appreciate if someone could explain this.
Janakan Rajendran