The word/phrase for the person who makes all the profit while others are suffering?
I believe the word you are looking for is profiteer which meriam-webster online defines as
profiteer
noun prof·i·teer \ˌprä-fə-ˈtir\
: one who makes what is considered an unreasonable profit especially on the sale of essential goods during times of emergency
"Profiteer" is perfect to answer to the question in the title.
In the context of the example, i.e. "coffin seller", the words bloodsuckers (or leeches) and scavenger (or vulture) may fit, if you want to be more literary.