Being a grouchy old developer, I'll always take the SDK because it's one more dependency that I can control, and I can do development offline. Of course, I give up the opportunity of the developer being able to perform fixes on the fly, but at least I'll have a stable way to reproduce a problem and report it to the publisher. With a Web API, if the publisher discovers a bug and then quietly fixes it without bumping up the version number, I can make a Web API call today that succeeds but fails tomorrow, or vice versa.
Things get interesting, though, if all the SDK does is just turn around and call the Web API anyway under the covers, or worse, calls undocumented Web APIs. I'm looking at you SharePoint.