Hello @kschoepfer ,
I've been fiddling about a little bit for you and came up with the following. Keep in mind, I'm not an expert on Power Automate. These forums make a great learning school for myself, therefor, there might be better or more elegant solutions to your 'problem'.
The SharePoint List
I've started with creating a basic simple list:

The Status column has three options:
Not started, Started and Completed.
The Recurrence has three options:
weekly, monthly, quarterly (I see I made a typo in my actual list)
Power Automate
1) Trigger
We start on a trigger: When an item is created or modified:

Important here is that we want the Flow to trigger on a specific condition in your list!
Go to the three dots and select settings.
In the bottom of the settings screen, go to the Trigger Conditions section and hit + Add.
Based on my list, the trigger is as follow: @equals(triggerBody()?['Status']?['Value'],'Completed')

Press done. The FLOW will now trigger when the condition of your list item is set to completed.
More information about trigger condition by Reza here (Great Vlog!): https://powerusers.microsoft.com/t5/Webinars-and-Video-Gallery/Microsoft-Flow-Trigger-Conditions/m-p/334506#M201
2) Switch
In your scenario I'm using a simple switch. In the On field in the Switch command, use Dynamic content you get from the first step: the Column: Recurrence Value. (the weekly, monthly or quarterly value)

I then build 3 cases, where in the equals I put in the values of the Recurrence column: weekly, monthly, quarterly.

3) Update item in switch case
In each of the cases, put in an Update item (SharePoint).
Now we want to update the Due date to update based on the case.
In the Due date field, we use an Expression:
To expand a week: addDays(utcNow(),7)
To expand a month: addDays(utcNow(),30)
etc. etc.
Mind you, I'm always struggling with dates. A week is 7 days, but a month can be 30 or 31. thus a quarter can change as well, in this I just used '30' for a month. I'm sure there is a better solution to calculate the date.