Architecture is the set of decisions that determines where responsibilities live, how parts communicate, who owns state, and which direction dependencies point. An app has an architecture even when nobody designed one; accidental architecture simply makes those decisions inconsistently and discovers their cost later.
Useful boundaries isolate reasons to change. Presentation changes because product design changes, domain rules change because the business changes, and data access changes because APIs or storage change. These concerns do not need a layer for every type, but they should not be fused automatically inside one screen object.
Judge an architecture by the work it enables. Can a developer locate behavior, replace a dependency, test an important rule, understand state ownership, and add a feature without editing unrelated code? The best design is usually the smallest one that answers today's real pressures while leaving clear seams for likely change.