What are the main benefits by implementing Finite capacity? pros, cons, impleications would be great to know.
Well, depends. Finite capacity really just constrains AX to use a finite amount of hours in a day across all production orders. Without finite capacity enabled, AX allows all production orders to use the same day's capacity. For example, let's say a work center has 8 hours of capacity available in each day. Also, let's say that there's 2 production orders that both are supposed to be delivered on the day after and need to be executed during that 8 hour day. Finite capacity constrains only a single production order from using that day, while infinite capacity would allow both production orders to use 8 hours of that day's capacity.
There's obviously a place for both approaches. Lots of people will use the finite capacity time fence and only constrain the capacity at a near-frame time period (maybe 7 or 14 days.) The rest of the scheduling will use infinite capacity, then, because it's likely not realistic to expect further timeframes to be accurate at this level of granularity anyways.
Implications? Finite capacity takes longer to run. Also, if you have the ability to scale production resources in the future, you may want to leave the scheduling at infinite to know how much capacity you could use if you were to fulfil all your orders as promised.