By far the best explanation on this topic I have found on the web. The way you visualize, reiterate, and add different examples while switching from code to illustrations is superb.
I don't think you need to use dup2 to implement redirect but I guess he is just using dup2 to show how it works. If you close stdout before calling open what the open function will do is find the lowest file descriptor available (which is now STDOUT) and use that instead of creating a new file descriptor which is FD3 in this example.