Our main character is Joe (Joaquin Phoenix), who seems to be a relatively low rent hired killer. Who lives at home with his Mom. He's incredibly violent and possibly suicidal, but he does take good care of his Mom and is never violent toward her. Flashbacks show he had a very abusive father, and he also appears to have PTSD from Afghanistan(?).
If I sound a little shaky on the details, that's because this is very much a "show don't tell" movie - they really don't tell at all. You watch Phoenix (who is scary as hell and entirely convincing) and try to figure it out. Lots of Joe, not a lot of dialogue. The movie just isn't big on explanations.
After we're introduced to his life, he's given a job to retrieve the very young daughter of a politician who's being held as part of a sex trafficking ring. While he and his ball-peen hammer are successful, he finds out that there's a lot more involved in the case and the fallout ... changes things.
The soundtrack consists of over-emphasized street and city noises, some incredibly dissonant music, and songs from the 1950s (I think they're meant to be the music Joe grew up on). I found it off-putting. I found the movie as a whole kind of mesmerising. I guess I liked it - but if I did, it was entirely because of Phoenix's performance: this weird and not entirely comprehensible construct rests entirely on him, and his superb and disturbing performance is what makes this work.
As a person who's seen too many movies, the reference to "Taxi Driver" seemed particularly obvious, even heavy-handed. We spend several minutes in a car with Joe driving around New York at night, watching the cabs pass him and the lights of the city change the colour of his skin. Both movies are about deeply disturbed individuals setting out to rescue underage prostitutes.