This problem is usually due to ownership of the files.
e.g. sometimes a PHP application will install a module and create some files on the server. On some servers the owner of these files is the PHP application so you won't be able to modify them via FTP (different user). You need to change owner of these files usually done via the control panel or log a job with your provider.