One of the disadvantages of free education is that it is not actually free. It is funded by taxpayer dollars. This disadvantage is really a matter of labeling -- while you may not receive an invoice for you or your child's "free" education, you will pay for it over the course of your life through a small chunk of every paycheck you receive. So, you can think of free education as something that you pay for, and as the money that goes toward it as money that is being diverted from other projects, such as health care, roads or lower taxes.
Administrators in the public school system don't work for the school. Instead, they work for the government to help run the school. This means that they can have a hard time making changes or effectively responding to parents' problems, as to do so can put their careers at risk.
Since public schools are state-run, they need to follow to state standards. As of 2011, these standards were becoming quantitatively tested through standardized testing -- the same test is given to every student, and the results are used to judge that school's performance. This means that public schools often "teach to the test," which means they focus on the students getting high scores on the test, even if this is not conducive to their actual learning.
Government funding is not always enough for the best learning environment. Class sizes are a concern for many school districts. Large classes are less conducive to learning than small classrooms where the teacher can focus more on each child, but the facilities and staffing necessary for this are not always in the budget of a publicly funded school.