WP-Pipes should not update posts unless you run the pipe manually in the browser in update mode. There is an undocumented way to run a pipe in update mode from a cronjob (adding a “u” parameter to the URL), but I doubt you’re using that.
Assuming you’re using a cronjob to activate the pipe, it will continuously fetch all new articles from the website, including one’s it’s already processed. But to speed things up, it will not actually go to the website if it finds a copy of the article in its own cache.
It then checks the post title and post slug of every article fetched against what is stored in the database (i.e. your blog). If EITHER matches a post in the database, it assumes the article has already been loaded and ignores it. Otherwise it will assume it’s a new article and create a new post.
If you’re familiar with PHP check function “store”, in wp-content\plugins\wp-pipes\plugins\adapters\post\post.php (around line 70)
store will call checkDuplicate, and if checkDuplicate finds a post that matches the slug OR the title of the new article, store just returns without doing anything more unless you’re running in update mode (i.e. manually). If a post is not found, or you’re running in update mode, then store calls storeContent which will create a new post or update the existing one found.
Hope this helps.