Old way: Presentation, Domain, Data layers
New way with feature split: Feature\Core etc. directories with relevant modules inside.
Examples projects with feature spit architecture:
https://github.com/android/nowinandroid
https://github.com/fvilarino/Weather-Sample
Outside of setting boundaries the main purpose of modularization is usually to improve build performance or sometimes to share code parts between projects. But it comes with overhead of supporting proper configuration of those modules, making plugins for gradle etc. This is basically cons\pros.
My opinion: there is no definitive rule, but if you have small to mid project and a small dev team you might be totally fine doing everything inside app module, but keeping it’s package structure ready to split into separate modules when you need it.