Good for you to post your own analysis. Many players simply post a game and ask for what they could do better. This way both helps you to think about things and gives others an insight into your thoughts, allowing better advice to be given. Here are my thoughts on your game:
4.dxc6 was better than bxc6. This is an occasion to break the general rule of capturing towards the centre because of the specific circumstances. dxc6 allows your Bc8 to enter the game quickly and also gives your queen greater freedom. It does indeed open the d file but this is good for you!
5.Nxe5 is a highly risky capture by white and actually a flat out bad move IMO. Instead of Qe7 there was Qg5, attacking both the Ne5 and the g2 pawn. If you can attack 2 things instead of 1 you should do it! This also highlights a difference between bxc6 vs dxc6. If dxc6 Nxe5 there is the additional crushing option of Qd4 threatening both the Ne5 and mate on f2.
6.Bd6 may well have been better than Bb4+. White could have blocked with c3 and you must go Bd6 anyway or be driven out to Ba5 where this bishop has little future.
7.d6 was a good move to use your positions strengths, allowing Nxc6 but gaining Qxe4. I don't see much difference between Bxc3 vs Qe4+ but I don't understand why white did not play bxc3 after Bxc3, recapturing the piece and maintaining a roughly even game.
You then make a correct decision to trade pieces as you are up material.
12.Bd7 was not a bad move, you develop a piece and attack your opponents piece, forcing his reply somewhat. You could also have tried Ne7 offering another exchange.
13.Nf6 was logical, just develop all your pieces and you should be winning. Here you speak of not having developed your pawns enough, but this is nothing to worry about. Think of the pawns as an aid to your pieces. If the pawns have moved to places which allow all your pieces to play an active role in the game (as is the case here), then they are sufficiently developed. You also mention castling, which you did next move, and it was the best move, no problem because it allowed your rooks to connect and removed your king from any discovered check. However, as a general point, when there is limited material left on the board, and especially when there are no queens, it is often better to leave your king in the centre. In an endgame the king assumes greater importance as an active piece and it is useful to have it in the middle of the action, supporting the pawns and pieces (just be careful not to place it in danger!). Here for example I would have played Kd7 had the bishop not been occupying that square.
Nd5 was a good move, emphasizing that you have a knight, he does not, and that the knight cannot be removed from d5. Re2 was also a strong option.
You then spot the back rank mate and pounce for the instant win. Good game, well played by you. I suspect your rating of 854 will be increasing as you show decent understanding of some important concepts.
1. e4 e5
2. Nf3 Nc6
3. Bb5 Bc5
4. Bxc6 bxc6- I am not sure if white capturing was the best move but I recaptured the bishop, I considered using my d pawn but I felt that it would leave the d file open.
5. Nxe5 Qe7 - So I left my e pawn un protected and his knight captured, I feel it is good that his knight was in the center but it is not really protected well. I am not sure of Qe7 was the best, however, the intent was to make a threat on his knight since it was not protected.
6. d4 Bb4+ - so his pawn push defends his knight, I decided to check his king, I think it would have been better if I had Bd6 instead to apply pressure on his knight
7. Nc3 d6 I felt that he gave a logical response, and that my pawn push was a good way to put pressure on the knight. I feel at this point I have not made enough pawn development
8. Nxc6 Bxc3+His capture threatened my queen, while I used my bishop to check his king, I feel that Qxe4 would have been better
9. Bd2 Qxe4+- I now made Qxe4 to check the king.
10. Qe2 Bxd2+- He used his queen to block, I captured to block and to check, he could not move his queen because it was pined, he would have to move his king out of check and lose his ability to castle
11. Kxd2 Qxe2+- Since I was ahead in material I decided to trade queens
12. Kxe2 Bd7- Was trying to force a move of his knight, I believe this was not really my best move and I could have created move of a threat
13. Nb4 Nf6 - His knight was retreated and I brought my other knight in to play, I feel at this point I should have brought my rooks in to play, and I still have not developed my pawns enough, or castled
14. Rhe1 O-O- I was not really sure about his move, but I now castled because I was trying to get some safety and a rook into play
15. Kf1 Bb5+- His retreating his king, I feel that was the start of his downfall, I checked his king
16. Kg1 Rfe8- I offered up a rook
17. Rxe8+ Rxe8- He took and I took, don't see anything wrong with that per se
18. Nd3 Bxd3- I was not sure about the knight move, I figured he would capture after I did, but he would be out of minior pieces when I would still have one
19. cxd3 Nd5 - I feel that a rook move would have been better here
20. Rc1 Nb4
21. Rxc7 Re1# 0-1 White made an error and I checkmated.