I wrote a lot of assembly (back in the day) for both the Z80 and the 6502. The Z80 was like a Mac truck. It had some really powerful instructions (LDIR etc) and a great register-set but the 6502 could be a lot faster on one condition -- that you had space available in page zero to exploit the indirect addressing mode that relied heavily on the first 256 bytes of RAM. The Z80 had the advantage that it had on-chip support for refreshing dynamic RAM so systems with more than 4K or so of memory were much easier and cheaper to build using a Z80 than a 6502.
If you were building and programming a system from scratch then the 6502 was the obvious choice but if you were programming a "store bought" 6502 system such as the Apple, Atari or Commodore, many of those valuable first 256bytes (page zero) were already in use by the ROM-based system software so things became a bit trickier.
Ah... happy days.