#{}are for deferred expressions (they are resolved
depending on the life cycle of the page) and can be used to read or
write from or to a bean or to make a method call.${}are expressions for immediate resolution, as soon as they are
encountered they are resolved. They are read-only.
You can read more here: http://docs.oracle.com/javaee/6/tutorial/doc/bnahr.html