How do I change a user's password programmatically in a plugin?
You shouldn't need to call changePassword() at all.  Try this:

$user = craft()-&gt;users-&gt;getUserById(6);
$user-&gt;newPassword = 'mynewpassword123';
craft()-&gt;users-&gt;saveUser($user);


If it's not updating correctly, then there is likely a validation error somewhere.  You can check that with:

$user-&gt;getErrors();


Which will return an array of properties that failed validation and their error messages.