Because the English teachers in schools these days are very bad quality; almost anyone can teach. Before, English teachers that graduate and teach were the best, because the education system back then was a lot stricter, which meant only the best could go to university and get a degree in teaching.
Because nowadays there are many other things such as online games and TV shows distract the children, so that they are not eager to learn good English. Also they don't really understand the importance of English. Moreover, their english was poor maybe because of the teachers who teach them are not good enough too.
Because the English teachers in schools these days are very bad quality; almost anyone can teach. Before, English teachers that graduate and teach were the best, because the education system back then was a lot stricter, which meant only the best could go to university and get a degree in teaching.
Also, most kids cannot distinguish between MSN language and formal English, so they are prone to using slangs, informal English, and even casual shorthand when writing essays or doing homework.
Schools need to encourage students to read, both English and Chinese books, as the level of Chinese kids have these days are bad as well. Teachers should not make students do book reports in primary school. It discourages students to read.
Look at American schools. Kids hardly get homework in elementary school; the homework mostly is to read. Just read. No need to do anything else for it. And those kids who develop an interest in reading end up having very good vocabulary and grammar.
Like my sister, she is in what is equivalent to HK's form 2. She has an amazing vocabulary that is even better than mine (I am four years older than her), and she can write very well.
So the main problems are that even teachers are not fluent in English, and also the education system in HK is not encouraging students to learn better English; it is actually discouraging them.