rpm é usado para interagir com o banco de dados RPM no seu computador. Então você pode olhar para o estado atual do banco de dados, verificar pacotes, verificar as dependências do software instalado, etc.
yum usa rpm (na verdade, usa uma biblioteca python rpm) para grande parte de suas operações locais, mas só pode executar um número limitado de funções que o comando rpm pode executar, apenas relacionado a a instalação, atualização e remoção de software. yum também pode conversar com repositórios de software locais e remotos e gerar gráficos de dependência para gerenciar pacotes de software, o que rpm não pode.