Pros
1. If you are willing to contribute towards the company actively regardless of what kind of work comes your way, this is the best since a lot of it gets repeated with time. 2. You are allowed freedom (with time) to move between roles at beginner stages (Trainee) which is good if you're still indecisive about your career but it depends on your Manager. 3. Mostly, you get what you want (Promotions, Role changes, sometimes even team changes) if you show potential and are willing to wait.
Cons
1. As mentioned in the Pro, the work is pretty much similar throughout. 2. You might get to play around with a new technology but they are really not the bleeding edge tech type company. 3. There are structural changes occasionally which might affect some. (Not in terms of work or money though)