New Zealand is considered as a developed nation and with all the resources they possess, they haven't been able to perform all that well. You can compare them with their neighbors Australia and you will find the NZ cricket is way behind the Australian cricket. NZ are considered Chokers as they usually lose a semi final or the knockout matches and still they haven't been able to get that tag removed from them.
Sri Lanka won the world cup almost three decades ago. Back then the circumstances were different. Quality of domestic cricket was quite poor in countries such as India and Pakistan. But now, Sri Lanka has remained where they were in 1996, while other teams have leaped ahead. IMO, unwanted government interference on SLCB played its part. They were only interested in the money and never cared about either improving the quality of domestic cricket or spreading cricket outside Colombo.