I read the 4.2.0 beta SDK docs for WatchFaceDelegate.onPress() and modded the Analog sample to try it out.
I feel like the feature has a lot of potential in theory but it's purposely designed to be limited to complications, due to the fact you can only detect a press-and-hold, not a tap. If you could detect taps, you could build a something cool like a stopwatch/watchface (a chronograph), or a watchface that responds to taps in various ways (like changing data fields/screens). Of course this can still be done in theory, it just won't be as user friendly (in the case of the chronograph idea, it's probably not worth doing if you can't detect quick taps).
This kind of reminds me of the on-device settings feature for watchfaces and data fields - since you can push any kind of view you want for your settings view, you'd think this would be a great way to support a "secondary UI" in your app that supports full input handling. Or your top-level settings view could still be a menu (as the user would surely expect), but some of your menu items could lead to screens with non-settings functionality.
Unfortunately, since the settings view doesn't respond to WatchUi.requestUpdate() or update itself automatically, it's pretty useless for displaying any kind of live data. You can only change the screen in response to input. It would've been so cool to be able to implement something like a scrollable lap list as a secondary UI for a data field, for example. The only way to do this today is very hacky and user-unfriendly -- everything lives in the same data field view, and you switch "pages" by detecting when the user quickly switches back and forth to your data field's page.
I get that it's all by design tho. This does seem to point to a future where every new Garmin device has a touchscreen. It would be nice, as long as all the quirks and idiosyncrasies are ironed out. (Like I noticed that 955 users are complaining that they don't have quite the same touch functionality that Fenix/Epix users get, especially for the map screen.)