Couple of things to try – remove some of the curly braces { } because those are only needed when you’re referring to variables, and try just directly calling onChange:
<div className={'caption'}>
<RichText
tagName="p"
className="imgCtaContent"
onChange={ ( content ) => { setAttributes( { content } ) } }
value={content}
placeholder="Enter text..."
/>
</div>
Also in save()
, setting a value on RichText.content isn’t needed and may be confusing things. Just use
return (
<div className={props.className}>
<RichText.Content />
</div>
);