A few reasons why NPC keeps winning:
1. Year round training
2. Private training ground
3. Same core group of players and coaches every year
4. Constantly scouting for new talents (e.g. Bharat Khawas)
5. Great coach
Almost all Nepali clubs lack at least 3 of those points, if not more.