Pro Welcoming, active community
freeCodeCamp strongly encourages interacting with other learners and experienced programmers. They provide chatrooms which are always active and full of members happy to answer any questions you may have. Pair programming (programming with another user) is encouraged as a great way to work through some of their coding challenges.
There are also meetup groups where you can code in person with other freeCodeCamp students.
Pro Gain real world experience while helping nonprofits
Once you've completed all the courses and practice levels on freeCodeCamp, you are able to participate with other learners on developing software for non-profits. It's an amazing way to gain experience and build your portfolio as a developer, while helping out a non-profit organization.
Con Learning material is not in-depth
The teaching content provided by freeCodeCamp tends to act more as an introduction than a solid learning resource. Unless you already have some prior experience, you won't have enough knowledge to get through the coding challenges and development projects without using outside learning resources to fill in the gaps.