The comparison with 6502 is often made, for obvious reasons, but the 6800 is definitely more of a "real processor" feature-wise! The order of magnitude in price difference and radically different intended applications are of course why that is so.
I don't think the 6800 and 6502 had different intended applications. The 6502 is just a second pass at designing the same product for the same market but with "design for manufacturing" given priority so it was quite a bit cheaper to make.
It is very cut-down compared to other processors of the time. Part of that was cost reduction, but part was also intended applications. I'm struggling to find it now, but I've got a transcript of an interview with I believe Chuck Peddle (may have been Bill Mensch) where they discuss it.
How is a 6800 more of a "real processor" feature-wise? They seem pretty similar to me - in fact I seem to recall that the 6501, a sister chip to the 6502 was "pinout" compatible with the 6800. Are you thinking the 6809?
Oh I see you are talking about the 16 bit stack pointer and probably the 16 bit Index register. Fair enough on an 16 bit address bus those are fairly convenient but it's interesting that it just tends to mean if you use SOA or AOS for you data design. I don't think 6502 is really much harder to code than 6800 or 6809.
For trivial examples, and especially when using modern toolchains, the 6502 isn't tremendously more difficult to program for; however, if you're using the tools and resources of the day and writing large, complex projects (e.g. disk operating systems, databases, etc.) it's another story.
The 6800's larger register set (yes, 16-bit stack pointer and index registers, but also dual accumulators), richer instruction set, more consistent use of status flags, and hardware features like DMA support with no additional hardware/not a special version of the processor are what makes it more of a "real processor" to me.
I still hack on both, though, so I'm not trying to say the 6502 is some kinda turd no one should program :P