Sigils in Perl 6 are rough type constraints on their content. More specifically, the indicate a Role. $x is unconstrained, @x does the Positional role, %x does the Associative role, &x does Callable.
Twigils in Perl 6 are where the scope indicators come in, clarifying class instance vars, dynamic scope, and so on.
So if I see %.foo I can tell you that this variable can be used as the Associative role, that it is scoped as an instance variable, and that it has an accessor with the same name.
For more, see the first few sections of http://doc.perl6.org/language/variables