So you've graduated and everything? Does your undergrad school offer any sort of retake "program" to replace old grades, or at this point, is it literally just retaking the courses? Grad school would definitely look good, and probably better than simply retaking the courses (assuming these new grades would not replace old ones). But it also depends on which courses these C's and D's were. If they were science, then going to grad school for science doesn't sound like it'd help your GPA. It also depends on why you got these bad grades: were you overloaded those semesters, were you having other personal issues, etc? If you can analyze what caused this, you'd probably have a better answer. Also, was your undergrad a very competitive school? A 2.8 at cornell would look better than a higher grade a liberal arts school (assuming your degree was science), so maybe the 2.8 isn't as bad as you think.
It sounds like the rest of your academics are solid. Do you have both breadth and depth of experience to go with those good recommendations? Grades aren't everything (but with the schools I applied to, they seem to be the only factor considered for the first 'cut'), so experience is very important too (I barely scraped by since I only had depth, barely any breadth). I hope this helped you to decide.