Understanding the purpose of dup/dup2

I'm having difficulty understanding the purposes of using dup/dup2 when involving forks.

for example, if we call fork() once, that is, we are creating a child process. In what cases would we need to use dup or dup2 to duplicate the file descriptors for standard output and standard error? What happens if we don't do this?

also, what is meant by the following:

"This function starts the child process, redirects the standard output and standard error to the log file (logfile)"

What is this redirection?

Please be as specific as you can please. Thank you very much.

See this thread. The last 2 posts in the thread are discussing redirection.