Since you are pretty much familiar with Angular2, I will try to explain you the use of multiple ngModules with example related to Angular2.
In general, whenever you create a component, pipe, directive or page, you declare it in app.module.ts in Angular2. Ultimately when you build your app, you are bundling the all the pages and their subcomponents into the base main.js file. This increases your bundle size. So, your website is gonna load pretty slow in internet connections with less speed.
Lets say you created an Angular2 website with 10 webpages. After you build your project, lets think your main.js file size is 2.5 MB. Assume you hosted your angular site in www.samplewebsite.com. So, whenever someone hits www.samplewebsite.com in browser and hits enter, the browser should load the whole 2.5MB file to display just the home page of your site.
Use of multiple ngModules:
Lets say you have 1 ngModule per page. So you will be having 10 ngModules where each ngModule has content related to its page alone. Lets say you made use of the Lazy Loading feature properly in your website.
So, when you build you site, the main.js will be equal to the size of (Basic Angular Components + HomePageModule - lets say 500kb) and you will have the remaining contents in form of chunks like 0.main.js, 1.main.js etc. So, those chunks will be loaded only when the user navigates to those pages. Otherwise they wont be loaded into the browser at all. So, it will increase the performance of your website even in poor network connections.
So just like Angular2, use of multiple ngModules with Lazy Loading will decrease the base size of app in Ionic3 and improve the User Experience while using apps developed with Ionic3.