Vantaggi
Provides decent opportunities for growth and development, especially great for people fresh out of college. From time to time, there are some excellent consulting and technology gigs, if you are lucky to get onto one and when the economy is doing well. It is easy to build friendships and have fun with people at the same level. Gives opportunity to get an insider look at Fortune 500 companies and some opportunities to switch projects and do something totally new, without the need to quit and look for new job. This helps build people skills, breadth of experience and taste for different technologies and methodologies. It is always fun to travel to new client sites, go out with clients and other travelers and accumulate travel perks. Corporate benefits, some flexibility to work from home and switch geographical location are a big plus.
Svantaggi
Project feedback and year-end review processes are out-of-date. Even if you are performing above and beyond expectations, at a much higher level, you are still required to have "N" years of experience and actively lobby with senior management in order to get promoted. Quality of projects and management is hit or miss. Some projects are very hush-hush, on the need to know basis, managed top-down, sometimes micromanaged. Company is pretty fragmented internally; it is very tough to move around divisions and people will hold that against you. International travel is rare, mostly due to costs and US being a stand-alone unit. Developers have little voice over how things are done and usually are pretty frustrated with the development approach and tools, which can usually be explained by limitations that clients impose on software vendors and technologies (IBM, Oracle, etc). At the same time, management has succumbed to "in the future all dev work will be done in India" fallacy; therefore, there is constant pressure for consultants to get away from software development.