Adding a roof to your deck can make for a more versatile and comfortable space in some situations. In addition to the obvious advantage of having protection from the rain and sun, porches offer a level of enclosure that provides privacy. Screens can be installed to keep insects out while allowing fresh air in. Porches can be built to complement your house using similar materials and by matching the roof style and slope.
The downside is that porches are more expensive than just a deck and are relatively hard to build. You also must note that decks with porches must be designed to support 80 lbs per square foot compared to 55 lbs per square foot for decks. This extra 25 lbs is required to safely support the roof and snow loads. Decks with porches need to be specially engineered to distribute more complicated loads. Footings are often required on the sides of decks that use a gable porch roof. Footing sizes are larger and need to be positioned so that support posts can directly transfer roof loads through sound framing to solid foundations.
Building a roof is hard work. You will be handling heavy materials while standing on ladders at high elevations. You will need a couple of helpers to build a porch. Building a porch definitely demands more skill and physical conditioning than building the typical deck project.