Quando usar herança e a interface?

Estou ainda meio confuso com esses dois conceitos, então queria sanar essa dúvida.

O que você precisa fazer na prática? Ou qual seria sua dúvida exatamente? Senão fica abstrato, pode ser que nem precise de nada disso. Explicações genéricas tem de montão se for pesquisar, exemplos:

https://www.caelum.com.br/apostila-java-orientacao-objetos/interfaces/
https://www.caelum.com.br/apostila-java-orientacao-objetos/heranca-reescrita-e-polimorfismo/

http://www.guj.com.br/t/diferencas-entre-heranca-x-classe-abstratas-x-interfaces/?source_topic_id=358202
http://www.guj.com.br/search?q=heranca%20x%20interface