There are many answers to this question. We need to keep in mind that all people are different and that some undergraduates actually do really well and succeed. With that said, here are a couple of reasons why undergraduates may underachieve.
First, there is a maturity factor. Many undergraduate students are not mature. They still have a very young mindset, where they are not thinking about their futures. They live for the moment instead.
Second, there are so many things to do when you are in college. So, studies are neglected at times. In other words, there are many things to distract you.
Third, for many college students, this is the first time away from home, and so there is new freedom. With this freedom, sometimes irresponsible decisions are made.