As a rule, a CTE will NEVER improve performance. A CTE is essentially a disposable view. There are no additional statistics stored, no indexes, etc. It functions as a shorthand for a subquery. In my opinion they can be EASILY overused (I see a lot of overuse in code in my job).
Check the cupcakes at the minimum baking time. If the recommended baking time is 18-22 minutes, check them at 17 or 18 minutes (just a quick peek, make sure not to let too much heat out of the oven). If the tops are rounded and no long appear wet, they may be done.
2) 864 cupcakes is exactly how many cupcakes you can make in 50 hours. Once you figure out the set number of cupcakes you can make you can slowly adjust the cupcake price until you land on the price which is $4.07. You can figure this out by adjusting the number of cupcakes until the time investment equals 50 hours.