The piston to seal clearance is a very tight tolerance...as is the seal to seal groove diameters in thecaliper.
As you use the bike, crud and road salt gets on the diameter of piston on the pad side, also brine (road salt and rain) gets down the side of the seal groove in the caliper. Brakes go through a heat cycle, and this dries out the brine in the seal groove and forms a crystal which will grow between the groove and the seal...this pinches the seal against the piston and increases the friction over the sliding surfaces of the seal and piston (eventually causing seizure of the piston)
Also when changing pads, if the piston is not spotless when being pushed home in the caliper, the crud on it gets wedged in between the seal and the piston...increasing friction again. If the piston can't slide freely past the seal, it never gets the chance to move forward to the disk and find a resting position (the seal holds it off the disk). This is where the spongyness feel comes from.
Best thing to do is strip it, clean it properly (scraping the crud out of the seal grooves) using a smear of the correct grease (red rubber grease) before reassembly.