it can be caused by multiple reasons , some of which may be :
- theme disabling this function
=> switch to default theme and check function again
- GD library not installed on server
=> check your PHP server settings .
- the image you are inserting is smaller than the thumbnail image size
set in Admin/Settings/Media.
=> check your default image sizes and / or upload a bigger image
- some plugin is causing it
=> disable all plugins and check function again.
- Defected image
=> Try another image
- Max file upload restriction
=> In functions.php
@ini_set( 'upload_max_size' , '64M' );
@ini_set( 'post_max_size', '64M');
@ini_set( 'max_execution_time', '300' );