Option 1: remove createdb for 9.1
When in doubt, use
dpkg -S to learn which packages provide a certain command.
$ dpkg -S createdb
From this it appears that
/usr/lib/postgresql/9.1/bin/createdb is provided by
postgresql-client-9.1, and that it's still installed. You may uninstall it since presumably you have now
Option 2: address the right instance without removing anything
Debian allows multiple simultaneous PostgreSQL instances, which is why it allows to have different
createdb at the same time. Assuming you'd need to keep
postgresql-client-9.1, that is possible too.
/usr/bin/createdb command, in the standard
$PATH (as opposed to deep under /usr/lib), is actually a wrapper that will call the real binary for the correct version depending on the context.
That context may be given through the additional option, specific to Debian/Ubuntu, called
--cluster to specify which version and server it should target. It's also available as an environment variable
PGCLUSTER, as documented in pg_wrapper, and defaults can also be specified in
Weird: createdb pointing to 9.1.14 and psql to 9.3.5
The one thing that doesn't look right in your question is this issue.
createdb should reach the same version/cluster, since in fact they should point to the same script to start with:
$ ls -l /usr/bin/createdb /usr/bin/psql
lrwxrwxrwx 1 root root 37 sept. 8 2012 /usr/bin/createdb -> ../share/postgresql-common/pg_wrapper
lrwxrwxrwx 1 root root 37 sept. 8 2012 /usr/bin/psql -> ../share/postgresql-common/pg_wrapper
This would require further digging into the environment to find out how your situation differs from the default.