When I should create a new permission in my custom module?
If you are creating a custom module for a client-only (or yourself), then you can do whatever is appropriate for the situation.

When creating a contrib module, you have to consider that you probably don't know all of the potential uses.  In general, I would make your own permission; typically as a project reviewer, this is something I point out as part of peer review.

I do not see too-many-permissions as a problem.  In fact, I see it as a benefit.  When I build sites for clients, I try to build out roles that can stack (users can have multiple roles) and roles have the minimum permissions needed to meet the needs of that role.

One common complaint about Drupal is that it is too complicated.  By using roles and permissions, you can limit what users can do, and minimize the complexity to exactly what they need to do (no more, no less).  When you gang up tasks into a single permission, you may give the option to people to do things that they may not need or want to do.

Another way to look at this, is that permissions can be used as a security method to limit what uses can do.  They can also be used by an organization to limit what users need to do as part of their job function.