Since you ask "YouTube or home-brewed?" --- I'll assume we are talking about placing a video clip into a web page, and the best way to do it.
I like the home-brew method.
Some points have been made here, but maybe we can get a list going and compare.
YouTube Pros & Cons:
PRO - Youtube makes it easy. Upload video, cut and paste HTML to page on your site, done. Next visitor can watch video.
PRO - content is served from YouTube server, reduces bandwidth
PRO - content gets additional exposure as part of the YouTube site
PRO - Google will mostly likely index the content favorable (since Google accquired YouTube in Oct. 2006).
CON - low quality, Youtube appears to strip A/V quality to minimize bandwidth usage.
CON - search traffic for video goes to Youtube site, not yours.
CON - loss of control, you can't control look and feel of player, size format, etc. If, for any reason Youtube changes something on their end it could affect your site.
Rolling Your Own Flash Player
Whether you want to create video for Youtube or to employ in your own website, you still need to create the video.
Embedding video in a webpage on a website without using a 3rd party service (or server) like Youtube, can be done with several types of players. The most prolific are the .FLV / .SWF type players based on Adobe/MacroMedia Flash/Shockwave format.
To get the video to play you need to get it into .FLV file format. This can be done using software like Adobe Premiere (the only commercial package with native support for outputting directly from source to .FLV -- they own the format)... Aside from using Adobe software, there are many conversion utilities that will take the (.VOB, .MPG, .AVI, .WMF or other format) video and convert it to .FLV format.
Next you'll need a .SWF player to wrap around the .FLV file, (a Shockwave control that gives users the ability -- minimally to start and stop the video, but may additionally have controls for volume, resizing, fast forward, rewind, etc).
To recap home-rolling:
- shoot video
- (edit if needed)
- save or convert to .FLV file
- upload .FLV to web server
- upload .SWF control to web server
- edit JS / HTML <OBJECT> <EMBED> code into page.
No matter what, playing with video is time consuming, I spent a month one day when I started testing things.
To make it easier to home roll, search for "