The iPhone didn't sell well initially for a couple of reasons. Most individuals didn't think they needed smart phones. Most smart phone users didn't think the iPhone was a real smart phone. It took a while for people to realize the potential of the app store, and what the iPhone could do for them.
Sure, and then there's the fact that the iPhone didn't originally have a reasonable subsidy, meaning people had to pay a much higher price than they were used to paying for a subsidized phone. Oh, and the fact that the app store wasn't released until a year later with software 2.0.
Palm [is] just being lazy, because they don't want to have to write and support their own sync code.
Well, by that logic, it could be argued that Apple is being lazy because they don't want to write and support full-featured APIs which can provide a comparable syncing experience to that of an iPod. It could also be argued that Apple deliberately does so, in an effort to coerce buyers into purchasing the iPod because of the better experience. Of course, it would be difficult to put Apple at fault for such action, as iTunes is their own program with which they are free to code as they like - unless, of course, iTunes manages to dominate market share (which I don't think it has, but I'm not sure), in which case they would possess a monopoly of the Music Player and Portable Music Device Syncing software market, and could be at fault for an anti-trust case or unfair competition. But all that really matters at this point is which company has more money.
Computer programmers do it byte by byte.