You're right. (Although I can imagine some scenarios in which someone might spend most of their working life in one particular domain, and that's ok). Right now it is taking all my time to build and support this app. I doubt it will be all I will be doing 6 months from now. I have never limited myself long-term to only one platform: I've developed in Java for many years. I've developed applications for Windows. For Symbian. Web apps. And so on. I always like new challenges :) With SongSheet itself I plan on expanding it beyond iOS once I feel comfortable enough with how it is doing on that platform. I don't want to spread myself too thin right now, however - I'm not the best of multitaskers.
In a few cases, it's a lot better. In most cases, it's significantly worse. It just seems to take longer to do everything.
For one person building and maintaining an app to a high standard on just one platform consumes all of your time. If you start developing it on another platform the first platform will suffer.
Building a high-quality app, from scratch is indeed time consuming and generally a full-time affair for a single person. However maintaining it afterwards is significantly less effort as is replicating it to another platform. Latter is not a trivial effort by any means, but it is still much less time consuming than writing an original, because you can readily recycle (a) code (b) ideas (c) supporting infrastructure such as website, support pipeline, etc.
Taking iOS as example, one can specialize on the UI frameworks, audio, networking, HTTP, 2D, 3D (OpenGL, SceneKit, ...), layouts, UNIX layer ...
It is almost impossible to master the whole OS stack.
Now multiply this for all fields you might target.
This is why code written by many consultants, tend to be "just to get stuff done", as there is so much one can learn when jumping from field to field.
If one decides to specialize, it can be a good when in high demand, but also a problem to switch field when the demand is gone.