Ducks often lay for far longer than chickens. The average length is 7-9 years. The exact age when they stop laying, however, varies, depending on the breed and how hard you have pushed them to lay.
Chickens usually have slowed down so much by their second or third year that they are no longer useful. Some ducks, however, can lay well even when they’re eight years old or more. In general, the ducks that lay more eggs per year will not lay for so many years as those that lay fewer eggs per year, because ducks are born with a fixed amount of embryos (usually around 1500). Also, the harder you push a duck to lay (such as by using artificial lights to lengthen the laying season), the more they will lay in a year, but the sooner they will stop for good.
Naturally, many Muscovies can lay for more than twelve years. They generally live about fifteen years, and ducks often stop laying a few years before they die of old age.
The highest egg production will always be during the first year, and it gradually tapers down after that. However, no matter what breed you have, you can expect good egg production for 3-5 years, and they will likely stop laying entirely when they are 7-9 years old.