If you feel that your game would be fine using the Unity terrain, then I would definitely say use it. I know in the past it was not supported on Mobile devices, but I don’t believe this is the case anymore.
There is a limit to the number of unique textures a terrain can have, but you should design your terrain palettes around this anyway.
I have heard that “the real pros” use an external program to model their terrain and import it, but then they probably did that because they were familiar with whatever the tool was to begin with and didn’t want to learn Unity’s (probably less powerful) terrain tool. If you know nothing about external terrain modeling, then there’s no real drawback to using Unity’s terrain until you feel invested enough to use a more fancy external program.
As for your example involving the stairs. It definitely looks like they are part of the terrain to me. This is a difficult thing to achieve in Unity, because making right angles like that takes very precise tools. The way the Unity terrain does this is through a height map. It’s basically a texture that goes from white to black. The closer to black you are, the higher you are. (or white, I’m not sure which direction it goes).
It is entirely possible to make a heightmap that creates stairs like that, but it is difficult with the tools Unity provides and I would look elsewhere to make that kind of terrain, or design my game to use stairs as a “prop” and simply create a slope that my stairs would sit on.
Basically my biggest piece of advice is, don’t get bogged down in perfectionism. It’s ok to use an “inferior” tool if it works for what you want to do.
My advice for designing the “props” of your level (buildings, chairs, walls, etc.) is to make them as modular as possible. If you can walk into houses, keep them empty. Don’t bother decorating a house inside of a modeling tool. It will create a unique mesh for each house, where each house may have the same chairs in it. This is wasted rendering and memory.
Same goes for the props around town. Create sections of walls so you can tile them (if your design lets you get away with it).
I also advise you name your materials (aka, shaders in Maya) something sane. I’ve noticed these modeling programs generally don’t give a damn about naming conventions.