To clarify, you can use OTA via the Particle cloud but have your own code completely independent of the cloud.
You can also have wired update without the need to press any buttons, either by entering DFU or Listening Mode by code or via "magic baudrates" on the USB Serial.
And there are projects that do updates via SD card which can be updated via FTP.