What ERPNext covers out of the box, and where customisation starts
The feature list is rarely the problem. The interesting part is where the standard ends and what that means for your project.

What is there without customisation
Sales and purchasing, warehouse and stock, manufacturing with bills of materials and routings, projects with time tracking, accounting, CRM and HR. These are not add-on modules but part of the system, and they work together because they sit on the same master data.
You do not have to switch them all on. The usual approach is to start with the area where most of the numbers fall apart today.
Configuration is not customisation
Custom fields, print formats, workflows and permissions are configuration. They need no code, survive updates, and are the reason ERPNext bends to a lot of businesses without a developer starting work.
When a dedicated app is the more honest answer
If a process really is specific to your business, a clean Frappe app beats a bent standard process. The difference shows at the next update: a separate app stays separate and maintainable, an overstretched standard does not.
Where it gets uncomfortable
Industry-specific edge logic, very large group structures with many entities, and deeply integrated specialist systems are the places where ERPNext costs effort. That belongs before the decision, not after it.
