That's correct. Understand that a portion of this kind of stuff is personal preference. C++ requires SOMETHING to say what the function is going to look like, however (that's why you have things like "include <iostream" -- it tells the compiler what the functions provided in that library look like so it can check your calls for validity). C, if you didn't declare or define the function in advance, just made some assumptions and let it go with a warning. This:
areaOfRoom = Area(lengthOfRoom, edithofRoom)
instructs the processor to jump off to the function, Area, and execute it (it saves a record of where to come back to when the function executes a "return" instruction). Area expects a length and a width, which the caller (main) passed as "lengthOfRoom" and "widthofRoom"). Area makes the multiplication and puts the answer in a return variable and returns back to "main". "Main" puts that value in "areaOfRoom" for further use (outputting it, in this instance). "Main" is delegating the work. If there were an existing function for calculating area in the run-time libraries, one wouldn't even have to write it, just call it and get the answer back. That's the purpose of functions -- write once, call many times.