There's no such thing as DNS forwarding, as far as I know....
There are three main ways you can display a different website for a domain name:
1. Put it in frames. Someone will host http://otherdomain.com/
which is just a full page frame of http://mydomain.com/
. Frames are generally erhm, "sub-optimal" (don't do it!!). Hosters have all kinds of creative names for this, but it always sucks.
2. Using a DNS CNAME. In this case, the DNS for otherdomain.com resolves with the IP address of mydomain.com. If your server can serve content this way (you might need a change of settings), your content will be available on http://otherdomain.com/
as well as http://mydomain.com/
. The bad part about this is that search engines can't determine which one is the "real source" and may crawl and index both of them, potentially "diluting" your impact in the search results. While better than #1, I still wouldn't recommend doing this unless you have to. Even then, you might consider keeping all but one domain locked away with a robots.txt disallow (which you would have to be careful when setting up).
3. Just 301. It's easy & search engine friendly. It brings the user and the search engine to the URL of your choice. If you have generic domain names this might make a lot of sense. I bet lots of users try candy.com when they want to buy candy; if your site is SweetsByJoshua.com then users who try candy.com will get redirected and be able tot get their candy from your real website. This is what I would prefer.