Change in environment is one of the reasons why fish wont eat. This basically occurs when you buy fingerlings and transfer them onto your fish farm. Stress of the fish caused by different management operations for example sorting of fish into different sizes, changing the water in the pond causes the fish not to eat.
Other reasons
Very cold water causes a low response of the fish to feed, unpalatability of the feed also causes the fish not to eat.
If the fishes are unhealthy i.e. when they are attacked by diseases then their response to feed will be low. Dirty water also causes the fish not to eat well.
When big fishes swallow smaller fishes, then their gullet will be blocked at that time and the fish will not eat for some time.
If the feed is not digested. It takes a longer time for the big fish to digest feed compared to the smaller fish hence smaller fish have a higher feeding frequency compared to big fish.
if the size of the feed is bigger than what the fish eat. Always give appropriate feed size to the fish.
If your fish is not well sorted or when there are different sizes of fish in the pond where small fish will be afraid to move near big fish in fear of being swallowed.