It appears that when running on the iPhone6+, iOS 10, cocos2d v3.5 will try to load -ipadhd suffixed files in preference to the -hd suffixed ones. (For some reason on iOS8 it won't do that, apparently because it doesn't properly detect that the device is an iPhone6+.)
Sure, maybe ipadhd images will more closely match the dimensions of the iPhone6+ screen, but the aspect ratio is drastically different! If there's eg. a background image both in -ipadhd and -hd formats, they will have drastically different aspect ratios, and the former will just not fit the iPhone6+ screen. (The latter will, and when cocos2d loads it, it's even automatically scaled properly to do so.)
In order to fix this problem in a project I'm maintaining, I had to go to the cocos2d source code, find this out, and comment out the line that adds that -ipadhd prefix to the list of prefixes:
else if (device == CCDeviceiPhone6Plus)
// Terrible, terrible iPhone 6+ hack.
Then it started to work ok.