First things first: let's pass around the tissue box. This ending is filled with some emotionally loaded and tragic stuff. The plot point is clear: in the end, the love of Hazel Grace's life, Augustus Waters, dies. He's 17.
Through his death, Hazel is able to learn some things about herself, her take on mortality, and her role in the world.
All this time, Hazel's been adamant about keeping her distance from people because she doesn't want to hurt them. But with Augustus, she realizes the closeness was worth it—she wouldn't change it for the world. And that's how other people, like her parents and her friends, feel about her.
In the end, Hazel reads Augustus's obituary for her. He writes that you can't choose whether or not you'll be hurt, but you can choose what hurts you, and that he's happy with his choices:
What else? She is so beautiful. You don't get tired of looking at her. You never worry if she is smarter than you: You know she is. She is funny without ever being mean. I love her. I am so lucky to love her, Van Houten. You don't get to choose if you get hurt in this world, old man, but you do have some say in who hurts you. I like my choices. I hope she likes hers. (25.76)
And Hazel responds with:
I do, Augustus.
I do. (25.77-78)
Looks like there's some happy ending in there after all.