Any time an item is inserted/updated/removed from a DynamoDB table, a record in written to the stream and stored for up to 24 hours.
Streams allow to capture a time-ordered sequence of item level modifications
Depending on your use case you can define what data to put in the stream:
Keys only
New image
Old image
both old and new image ( meaning entire attributes before and after the modification)