They just employed someone for a full time job because they needed to spend €x on someone to do Y work
Now they don't have to pay that money, which is fine, but they then need to find someone on a 14 month contract that will do it for the same salary as the person they just employed.
Then at the end of it they are left with paying an overlap from the contractor to someone new
First, a little nitpicking: one of the parents can take at most 12 months off, so there is no "14 month contract".
Second, the whole thing can be way more complex. In Germany a mother has her job secured for the moment she announces to be pregnant to until the child is 3 years old. So one could decide that will take the Elterngeld for 12 months but actually just go back to work 18 months, and the employer has no way of stopping it.
Third and final point: NONE OF THIS MATTERS! Trying to find the "fairness" in this is nothing but some incredibly naive exercise. Like most things in life, salaries are not determined by the amount of value produced but rather by market value of labor. Risks when dealing with labor force should be already priced in.
Sure, and the policy is good, but there is still an impact on the company. Most situations that will be a large company which can easily cope, but in small companies struggling to survive is can have an locally detrimental effect (despite the company benefiting from the policy as a whole)
What makes you think that the small companies are struggling to survive? And from all of the policies in Germany that exist to "protect" the employees (minimum wage, employer share of pension contribution, health insurance, etc) what makes you think that this particular policy deserves such special concern?
Now they don't have to pay that money, which is fine, but they then need to find someone on a 14 month contract that will do it for the same salary as the person they just employed.
Then at the end of it they are left with paying an overlap from the contractor to someone new