Both Obscura and rollin have provided valid solutions and feedback. There's often more than one way to resolve an issue and what's right for a given project will depend on finding a suitable balance between expedience and efficiency. Understanding the root causes and first principles is beneficial going forward as these issues will manifest again in different situations and specific technical constraints may require other solutions.
To illustrate Rollin's point: the skewing can be resolved without adding additional geometry.
Figure 1: Automatic mesh triangulation produces skewing where the low poly's horizontal edges cross diagonal elements on the high poly.
Figure 2: Blending vertex and face normal directions with a skew map in Toolbag resolves the issue without requiring additional geometry.
Figure 3: Adjusting the low poly triangulation to match the diagonal elements resolves the skewing without requiring additional geometry.
Figure 4: Adding additional edge loops that match the diagonal elements resolves the skewing but increases the resource footprint.
Looks like the order of operations is important: Bevel the horizontal segments first. Dissolve and bridge where necessary. Bevel the vertical segments last to add the final curve.
Start by blocking out the shapes to determine how many segments the arch will need to match the intersections with the vertical gussets. This dumpster looks like it's mostly welded plate and square tubing. The individual parts could be modeled separately or combined into simplified sub-assemblies.
Since there's a lot of basic shapes it might be worth looking into building the high poly with floating geometry or running a Boolean to ZBrush / Quadremesher workflow. What's most efficient depends on the project goals and technical limitations.
Here's an example of one approach to creating the arched side with subdivision modeling. Block out the basic shapes using inset, cut and chamfer / bevel operations. Cleanup the mesh and extrude the rest of the flat / rectangular shapes. Use a chamfer / bevel operation or modifier to add the support loops. This workflow supports creating both soft stylized and sharper realistic shapes.
The end goal for the model should inform how you approach breaking up the low poly and high poly models. Keep in mind that baking to a simplified low poly model generally requires creating slightly more exaggerated features on the high poly model. Breaking up the low poly model into specific components (if the polygon budget is large enough) will make working on the high poly easier since it will require less shape merging.
Try to keep the geometry as simple as possible while still holding the shapes and maintaining a good edge flow. Take advantage of all the flat surfaces by using them to absorb triangles and n-gons generated by terminating excess edge loops. Depending on what the model is going to be used for it's probably worth taking some time to look at alternate workflows such as floating geometry and Booleans + re-meshing.
For me the best option have always been wacom intuos small without screen . It's a sort of convenience when you always see your work as a whole, unobstructed by your right hand, palette and stick in left hand or whatever . Always on a big horizontal IPS screen . No need to bend over in some uncomfortable pose. Had same screenless wacom in large and middle sizes. They required too much energy to move your hand around and not enough space to lay keyboard nearby but middle is ok too.
I once had ipad with a pen . it was a nice toy really to play outside your work environment, no more .
@aregvan@guitarguy00 You're welcome. Glad it was helpful. Thank you to everyone else who posts questions and answers too.
Relying on tools to generate geometry just means avoid doing unnecessary manual work when there's a tool or modifier that will do the job quicker and more accurately.
Here's an example of manual work. Please, for the love of all that's holy, don't do this sort of stuff.
The verts are moved into place freehand, edge loops cut in one segment at a time and the fillet is scaled up manually. Yes, the result is usable but the amount of work that went into it doesn't justify the result. There are tools that can do most of this in just a few keystrokes and will be more accurate than an artist pushing geometry.
Here's an example where using the correct tools speeds things up. Generate the primitives. Block out the intersection and match the segment counts. Run a Boolean operation. Run a chamfer operation. Merge down the left over geometry. Add three edge loops and join them up with the base of the intersection. The tools have done all the work and kept the geometry reasonably accurate.
If shape accuracy isn't a big deal then the Boolean operation could have been cleaned up with a merge by distance operation and the perpendicular edge loops could have been added before the chamfer operation. This would have been even faster but less accurate.
There's a fine line between manual work and manual adjustment. Manual adjustment is part of the process and the important thing is to use tools that will keep the mesh co-planar and parallel along edge normals, etc.
If the shape requires an excessive amount of manual adjustment then it might be time to re-evaluate how the shapes were blocked out. Sometimes it just doesn't matter and the project calls for something quick and dirty. Some shape intersections can be fudged and others can't.
Here's an example where the geometry was created using tools and some minor manual adjustment was required at the end. The vert was moved along the edge normal to alleviate the stress where the support loop came close to the cylinder's edge segment.
Generally speaking, as long as the geometry remains in plane and subdivides cleanly then it's OK to use tools to move things around accurately. There's also exceptions to this where the geometry has to be purposefully distorted to counter subdivision smoothing but that's a different discussion.
Here's a subdivision preview of all the meshes. They all work. It's just that some took significantly longer to make than others. Manually creating everything and manually adjusting everything can be a huge time sink. Avoid it where you can and spend time wisely.
The big take away is avoid having to manually bash things into shape by moving every vert, cutting every edge loop and smoothing shapes by hand. If things are falling apart and causing smoothing errors then there's a fundamental problem with the geometry. Stop and take the time to block things out and work through each problem.
Also don't get caught up on perfection. It's subdivision modeling, not CAD. There's going to be some imperfection. Get it as good as it needs to be and move on to the next part.
It looks like there's a specific order of operations. Start by beveling the opposing vertical and horizontal edges. This should create the desired edge flow. Select the new edge loop and bevel. The difference in bevel width on the second operation looks uniform so it may be a percentage or distance based bevel. The specific bevel operator settings are something you'll have to experiment with to find the exact shape.
Reducing the segment count to the minimum amount of geometry required to hold a shape and maintain edge flow is a good strategy for subdivision modeling. The base geometry looks good. You have the basic shapes and loops working together. Definitely on the right track.
The distortion between the two outlets can be corrected by increasing the loop count on the chamfer / bevel and adjusting the bevel profile settings until the fillet radius matches the reference image. This example is similar base mesh (32,24,16) and shows the stress patterns.
I didn't see any triangles on the front of your mesh so they must be on the sides or the back? Edge loops can be cut in on the back of the stand pipe to match the horizontal segments on the outlet intersections. Triangles and n-gons are fine as long as they aren't causing visible artifacts. Part of subdivision modeling is controlling shading errors by either limiting them to a small area or averaging them out over a larger area. Sometimes it just takes a couple extra loops to match the surrounding geometry.
The subdivision workflow for creating game models is usually something like this: start by blocking out the shapes with a base mesh. Use this base mesh to create the high poly model. Either optimize the high poly cage mesh by deleting edge loops and collapsing geometry or use the base mesh and build up the low poly model. Uv unwrap, setup mesh smoothing groups and bake.
Technical requirements for high poly models and low poly models will be different. A lot depends on the project. Overall it looks like you have the process down. Now it's just a matter
of working through the shapes and matching the reference image.
The uneven line segments around the notches are the problem. Keep the cylinder's edge segments parallel and use them as support loops. Inset and cutout geometry should fall between edge segments and not on edge segments. This can be done in the round or in a flat strip bent into a circle.
Rough sketch of the basics.
You may need more geometry to support details.
Modeled flat and bent round with a 2X subdivision modifier.
Building on what Neox has suggested: in Blender you can run a limited dissolve and use the delimit option to preserve edge loops.
Here's a quick example where I've sharpened the edge loops I want to keep and run a limited dissolve with a sharp delimiter. Triangulate the mesh along shortest diagonals and convert tris to quads to cleanup the N gons and it's ready for any manual tweaks.
Depending on how you're going to bake it you could just use sharp edges along your UV seams or you could use a bevel weight and bevel modifier to add edge loops around the cutouts. A little minor cleanup with loop select and edge loop delete and you should be good to go.
If you do need to do some manual cleanup: vertex connect path is handy for connecting two points since it will automatically slice across any edges it encounters. Otherwise the knife tool can grab a starting vert and constant angle will keep the tool straight up or down which is quick and precise.
IMO (in this case) the key is to keep the cleanup as automated as possible before you go in manually adding or subtracting loops one at a time.