Ducks will also drill you nice little holes after they've eaten your green plants, so anyone who says just get ducks isn't telling the entire truth. Same with chickens. Same with guineas. Same with turkeys. Same with geese.
They'll always eat part of your harvest.
Side-note, duck eggs are great for baked goods. Nice, fluffy cakes and brownies. But fried they're a little gross.
You can't generalize "ducks". Different breeds behave very differently. The problem is someone saying "get ducks", rather than "get runners", so someone goes and gets whatever random ducks they find and of course they eat the garden. Or getting ducks and not having a pond even!
But unfortunately ducks are not an option, even though I also would love their eggs.