All this is probably coming as a shock to you since you seem to have just made the jump from the free-web site services.
The cost of domain name registration varies depending on which company you register with. $50/year is high, there are some cheaper ones out there. There is a list of registrars at http://www.internic.net/regist.html
$100/year for web hosting is very cheap. I consider $200/year for hosting to be a very resonable price for a personal web site (non-business), especially if you see some of the cost of other services out there. But cost should take into account the features available, since a lot of web hosts start businesses as well as individuals. There are web hosts that cost as little as $60/year but the ones I've seen that offer at that price give only a skimpy amount of storage space and little to no features. It just depends on what you find and what you need.
There are decent yet free FTP programs out there. I use Fetch when I'm on a Mac, and WS_FTP when I'm on Windows. Run a search at a place like http://www.download.com/ to see what's available. DreamHost doesn't offer its own FTP program, the last that I heard. FTP is the standard way of uploading files to a web host for all paid host services out there, and free web hosts usually offer FTP too.
Are you having problems with your FTP program? What kind of problems? You weren't very detailed on your problem. If this is the first time you've ever used an FTP program, just connect to ftp.yourdomainname.com (or .org or whatever your Top Level Domain is), enter your FTP user name (which should be different from your control panel user name) and password and you should get connected.
DreamHost does offer an web control panel but it doesn't include web-based file manager. Despite that the DreamHost panel is pretty rich in features and controls, since many hosts don't seem to offer any kind of web-based control at all.