All houses gradually accumulate holes in their siding from fasteners and from phone and cable lines. The only way to repair these holes perfectly in vinyl or aluminum is to replace the entire piece—a repair that ranges from challenging in vinyl to almost impossible in old aluminum.
For an easier, nearly-as-good fix that keeps water out and is almost invisible from several feet away, fill the hole with a color-matched caulk. Home centers don't usually stock it, but siding wholesalers that sell to contractors carry caulks specifically blended for dozens of different shades of siding. If you know the manufacturer and color name of your siding, you can get the exact blend developed for that shade. Otherwise, bring a sample piece or take a photo and ask a salesperson to help you match it.
Before filling the hole, wipe the siding clean. Squirt enough caulk into the hole to fill the area behind the hole. Avoid smearing excess caulk all over the surrounding siding—the less you get on the siding, the less obvious the repair will be. Once the caulk is fully cured (which could be several days, depending on the type), trim it even with the siding with a razor blade.
To avoid making holes, use vinyl siding clips instead of fasteners to hang decorations. They're sold at suppliers or online.