Most reviews about the Scratch website make the mistake of reviewing Scratch as both a programming language and a website. These two things should be kept separate. Parents need to decide whether to let their child create a Scratch userid and participate on the website.
Scratch is a social media website where children role play and chat about topics that include puberty and sexual orientation. They sometimes use the embedded software to make presentations about their lives and interests. This software has some minimal programming features and therefore also allows children to reproduce games by copying the instructions from books or videos.
Some members will figure out that getting front-page recognition is reserved mostly for people who learn to merchandise themselves and their projects. They have to work the community. They learn that they have to beg or trick others into liking their projects, constantly ask people to recommend their projects for front page slots, and find ways of tricking the algorithm to allow their projects to be displayed on the first page of trending projects. It might be true that learning to merchandise their work is a useful skill but is that what you expected when you let them use the Scratch website.
Parents should also be concerned with how easy it is for children to pirate copyrighted music. The Scratch team assumes that there exists a fair use defense for any project that includes copyrighted music. However, the Scratch website makes it very easy for your child to extract just the music into music format files on your home computers. This is piracy and the Scratch teams' reply to this is that every child needs to know the copyright laws in their local area. Parents and school administrators should be concerned about how easy it is for Scratch to allow illegal music in common music formatted files to be stored on their home or school computers.
If Scratch, the language, is used in school then it seems a bit of a waste. Scratch is free but school time is not. It would be better if school districts used a language that didn't run out of concepts to teach. The Scratch team does not want students to know about data structure so nothing about tables can be taught. They don't want students to know that procedures can be made once and used anywhere in a program. They don't want students to know about functions. They don't want students to know that arrays can be passed as arguments to a subroutine.
The Scratch team says that the language is specifically designed for the age range from 8 to 16 but every suggestion that would allow the language to have more educational value to the upper age range is countered with "but that would confuse our 8 year old users". That means that Scratch as an educational product is designed for 8 year olds. Parents and school administrators should keep that in mind before selecting Scratch as a tool for learning programming.