I keep thinking of things...
It is entirely possible to start a map making session, and control the robot via joystick, keyboard, or the input form the web site to make the map. You just need to drive the robot around enough so that it has "seen" the entire room, and then you will see in Rviz that the map is complete.
However, my experience is that localization and map making is often poor using this method. The reason is that your inputs will always be very "course". Lots of small turns and movements, and those add up to a lot of drift as the robot attempts to merge the odometry from the wheels and the visual input from the lidar.
By using Rviz to give the robot "2D Nav Goals", you allow the robot to control itself, and it operates itself in large "curves" (often straight lines, but they could be curved in theory) that are easy for it to keep track of, and the map is just of a much higher quality. Hence making the map in Rviz with "2D Nav Goals" instead of driving it around by hand.
Once you have the map, and saved it, and loaded it again, well now the benefit is that you can send the robot to a location, which is the goal. For it to "navigate" rather than just be a remote control car.
You may also ask, "Why do I need to save the map an then load it?"
Two reasons:
1. If this is your house, it is nice to just load and use the map, rather than having to manually operate the robot to build it every time you start the robot.
2. When in "map making mode" the code is constantly evaluating the room and trying to improve the map. This means that it is easy to mess up the map too. However, if you load a map, the robot won't change it, so if something "catastrophic" happens, like the robot slipping and thinking it rotated 180 degrees when it didn't, the robot may be a little lost, but it won't edit the map into a mess, and you an use the "2D Pose Estimate" to help the robot know where it was again if it cannot figure it out on its own.