difference between $variable and ${variable}

Hi there

Simple question im sure but what is the difference between $variable and ${variable}

ie I have seen scripts like this

for user in gary peter paul ; do
   chown -R ${user}:other /data/trans
done

and some that do this

for user in gary peter paul ; do
   chown -R $user:other /data/trans
done

what is the difference

Cheers

this might put some light on the matter:

#!/bin/bash
t=100
echo $t
echo $tea
echo ${t}ea

From man sh

   Parameter Expansion
       The  ?$? character introduces parameter expansion, command substitution,
       or arithmetic expansion.  The parameter name or symbol  to  be  expanded
       may  be  enclosed in braces, which are optional but serve to protect the
       variable to be expanded from characters immediately following  it  which
       could be interpreted as part of the name.

       When  braces  are  used,  the matching ending brace is the first ?}? not
       escaped by a backslash or within a quoted  string,  and  not  within  an
       embedded  arithmetic expansion, command substitution, or paramter expan-
       sion.

       ${parameter}
              The value of parameter is substituted.  The braces  are  required
              when  parameter  is  a  positional  parameter  with more than one
              digit, or when parameter is followed by a character which is  not
              to be interpreted as part of its name.

See this

[/tmp]$ cat try.sh
#! /bin/sh

a=12
b=34
echo $a_$b
echo ${a}_$b
[vivarkey@/tmp]$ sh try.sh
34
12_34
[/tmp]$ 

ah thankyou