zram is a compressed ram-disk that acts like any other block device, so you can point `mkswap` and `swapon` at it.
zswap is a compressed (memory) cache that uses the frontswap API to evict least recently used pages to a swap device. Evicted pages are not compressed.
zram is more of a general purpose component; whereas zswap is a more specialized component.