It might be a little unclear at first what reason modules have for existing.
After all, don't packages already group code? Why would you want groupings of a grouping?
The answer is that1 when you share code with other people you will often want to have that code contain multiple packages. If you couldn't "hide" packages of code from the people using the code you2 are sharing it would be a bummer.
Just as private fields help you encapsulate state in a class and package-private classes help you encapsulate whole classes, unexported packages are your mechanism for encapsulating whole package.