Documentation for a package, and tests for the package, are placed after this point in a package file. This way, documentation can be loaded separately, Macaulay2 examples in the documentation can be run, and the whole documentation can be stored in a database.
For an example, see an example of a package
To write documentation without using the function beginDocumentation, which is just an optimization, use needsPackage to load the packages SimpleDoc and Text.