When should I take on c4? I always encounter such a position:

[FEN "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"]
[StartPly "11"]

1. d4 d5 2. Nf3 e6 3. h3 Nf6 4. e3 Be7 5. Bd3 O-O 6. c4 Nbd7 7. c5 c6 8. b4 b6 9. Bd2 a5 10. bxa5 bxa5 11. O-O Ne4 12. Bxe4 dxe4 13. Nh2 Nf6 14. Qe1 a4 15. Bb4 Ba6 16. Nc3 Bxf1 17. Nxf1 Rb8 18. a3 Ra8 19. Qd1 Qc7 20. Nxa4 Rfd8 21. Nb6 Ra7 22. Nd2 Nd5 23. Nxe4 Nxb4 24. axb4 Rxa1 25. Qxa1 f5 26. Nc3 Bf6 27. Qa2 Kf7 28. g3 g6 29. Kg2 Qb7 30. Ne2 Qc7 31. Nf4 Rb8 32. Qxe6+ Kg7 33. g4 fxg4 34. hxg4 Bxd4 35. exd4 Qxf4 36. Qd7+ Kh6 37. f3 Qd2+ 38. Kg3 Qxb4 39. Kf4 Rf8+ 40. Kg3 Qe1+ 41. Kg2 Qe2+ 42. Kg1 Rxf3 43. Qxc6 Rf1#


Stockfish recommends 6.. dxc4, while I played Nbd7. Why makes dxc4 better?
It is really a matter of taste over "better".  I like the tempo gain that dxc4 gives.  Usually the pawn is on c4 before Bf1-d3, but when Bf1 develops, as in your game, it loses time capturing on c4.  Additionally, the Bishop sucks on c4 and will likely move yet again.
Black will have time to play c5 with a nice game.