Alright, here we go and I will do it with an example app.
Let's say you are creating a census application for Canada. Your partition key is going to be the province or territory name, of which there are 13 total iirc. You load the initial data in and all is fine. You open it up for users to come in. Everything is going ok, but hit the evening when everyone is home and just got a card saying they should go to your site. Well, where are the population centers in Canada? Ontario and Quebec have the most and they just so happen to be in the same table partition. Oops. Yes, adaptive capacity will try and save you, but in short order there are now 10s of thousands of people (or more) trying to use your site. That partition is now hot as it hits the 3000 IOPS per partition quota with just one section of Toronto online. DynamoDB is already trying to move items to other partitions and creating more to save you from your blunder, but your users are already getting throttled. You chose poorly. Twitter/reddit/etc is now erupting with nasty comments I shall not quote here. Meanwhile the partition that has Prince Edward Island and Yukon in it is not doing much at all. If you had picked a different partition key or used write sharding with the province/territory name, items would be more evenly spread and this would not be a problem.
That said, in another scenario, with a lightly used application and low cardinality PK, all might be well. As that app scales, that is when your blunder will become apparent. If it will never scale then it might be fine…by why hassle with that?
Hopefully you get the point. Also, this kind of thing is not unique to DynamoDB. I have worked with plenty of other databases that do partitioning where this could be a problem. At least DynamoDB is smart enough to try and save you from your blunder over time for you, but why set yourself up for problems?