I think to some extent it depends on what you enjoy doing. Consulting and software engineering are very different fields, even if they share some similarities. For this response, consultant will denote someone who works at a consulting firm full time.
There are two big trade-offs that are worth talking about here:
Depth of Experience vs. Breadth of Experience
It has already been mentioned that one of the major perks (or downsides) to being a consultant is that you're constantly working on something new. Some projects may last a few months and some may last a few years, but, ultimately, you're going to be working on something new. For better or for worse, this means that good consultants are expected to know everything about a lot of different business processes for different industries. A lot of consultants are delivering services or internal applications, not shrink-wrap software.
In contrast, a professional software engineer is likely to be working on the same feature or set of features for years. This means that they have an intimate knowledge of that particular feature or features, but they may become rusty in other areas in the mean time.
Outsider vs. Insider
It probably doesn't sound like a big deal, but something about consulting that can be good and bad is the fact that consultants are outsiders to the businesses they're working at. Sure, it means you make new friends and work with new people, but it also means that sometimes you don't feel like you have a sense of "home." It also means that you might be expected to perform at a higher level than other employees and be able to answer questions that other people can't answer--after all, why else would they have hired you?
Hopefully this gives you a little bit of insight. Both career tracks are amazingly rewarding if you are passionate about them--sure, there might be some financial trade-off, but what's more important is what you want to do with your career. Let's be honest, most developers in any field are going to make enough money to pay the bills.