Some starters can freeze up, believe it or not, or their solenoids can. This is especially true after slushy driving conditions and a good solid freeze that night.
You can try heating the solenoid and starter shell with a torch, or tap it with a big pipe wrench...sometimes that works. Torch must be wielded wiith a couple of clues working for you, of course...don't want to melt anything or break welds.
I also agree that batteries that have to run lots of accessories, and do it during cold winter months, are often good for about three years, depending on quality and care. If you never top up the cells (maintenance-free means absolutely nothing), you can expect to lose potential over time...means cranking power.
I also agree that corroded connections, either at the battery terminals or on the frame/block, and at the devices that need power, are entirely possible. In places where road salt is used, you can pretty much assume it is at least part of your problem.
-Crandell