Informações abrangentes sobre o tmpfs podem ser encontradas em IBM DeveloperWorks . Em suma, os tmpfs também podem usar swap, enquanto os dispositivos ramfs são apenas memória. Eu recomendo que você leia o artigo do DeveloperWorks quando tiver tempo, ele é muito detalhado e um dos melhores artigos que já li.
Em relação a /dev/shm
especificamente, está lá para conformidade com POSIX; O Debian é enorme em conformidade com padrões. De um post da lista de e-mail da Red Hat :
/dev/shm is for POSIX compliant shared memory and very few
applications even need/use this.