There are a number of options open to you if you want to embed videos on your website.
You can create your own service completely - but this is very bandwidth and processor intensive - and not recommended on any site with more than a few users. Video module is an all in one solution, providing upload, transcode and reupload.
You can create a semi-hosted version, where users upload a video to your site, it transcodes it and then uploads it to another service (a CDN, youtube etc) for streaming.
But Jakub recommends fully hosted solutions, such as Youtube, Kaltura, Vimeo, Brightcove, and more.
To integrate these, CCK Embedded field is a very easy approach - but users need to upload outside the site and copy link. It supports a wide range of video sites.
There are also some modules that provide specific service integration. Vimeo module, and Brightcove module are examples of this. Jakub is going to demo the Brightcove module (because he built it!)
The module connects with your Brightcove account and allows you to select videos, which it then embeds in the node.
Jakub also recommends Media Mover module, which integrates with Brightcove module - so you can upload videos to FTP - then use mediamover to automatically take videos from FTP, move them to Brightcove and then embed in a node.
The Brightcove module has also been integrated with imagecache so you can show a thumbnail from the video, and customise how it is shown. It also integrates with views, enabling you to show your latest videos in blocks, tables, etc. You can also display metadata that Brightcove provides alongside the video.
The module seemed pretty robust, and the range of options open to developers wishing to build video assets into a Drupal site seem to be growing.