Q:

Why 'x' used in [ x"$VAR" = x"VALUE" ]?

I can see in unix shell scripts that following construction used    
[ x"$VAR" = x"VALUE" ] 

instead of 
[ "$VAR" = "VALUE" ] 

Why?

A:

Because shells were not always entirely well-behaved if one of the variables was empty.
Consider if $VAR was empty/null and $VALUE is "foo", your two constructs expand to:
[ x = xfoo ]

and
[ = foo ]

The latter would cause an error in some shells due to being an illegal construct, while the former is valid in any case.  This is not a problem in recent version of bash (perhaps even old versions of bash) but that's where it comes from historically - and asides from the occasional moment of puzzlement from people in your situation, there's little reason not to do it for compatibility with a wider range of shells.

A:

when $VAR is empty it would give a syntax error [ = "VALUE"], thus the usage of x

