I do both cardboard/leaves/mulch/straw (depending on the time of year, mulch is sometimes available, straw is sometimes available, leaves are sometimes available). I like leaves best. I drive around this time of year on trash day and pick up the leaves that other people have raked, bagged, and put out for trash day) and landscape fabric.
Here is the deal with the fabric, in my experience.
1. It lasts at least 4+ years if it isn't covered. If you put mulch/straw/etc on top of it, it degrades much more quickly.
2. Weeds will poke up through it if it isn't tight on the ground. A few will still poke up through. I use a combo of small rocks (about the size of a brick- in fact old bricks are perfect) and landscape fabric pins to hold it down tight. I keep a small mountain of rocks in a corner of the garden, and whenever a week is poking up at the fabric, I put another rock there.
3. Method: I put the fabric down in the spring when I weed, fertilize/compost, and plant seedlings (fyi this method really works best with seedlings, not stuff planted from seed). I hold it down with plenty of pins and rocks. I leave it up all summer, and all winter. In the spring I take it up, prep beds again, and put fabric back down.
4. I have about half my garden with fabric, and I rotate what gets fabric, so one year it has fabric, the next it doesn't.