Soft bread is soft because CO2 produced by yeast and water that gets turned to steam by the baking process gets trapped into pockets by a mesh of gluten, causing the dough to expand. The dough then solidifies, keeping its shape. If your bread is not soft then it hasn't expanded enough for one or more reasons:
- Dough too dry: as much as the yeast, water is responsible for getting a good rise in your bread. Gluten requires moisture to relax and stretch, forming the structure that traps the air that causes a rise, dough that is too dry won't form good gluten. Also, dough that is too dry won't have the elasticity to rise. Yeast needs water to do its work, dough that is too dry will inhibit the yeast. Also, the expansion of water into steam is as important for a good rise as yeast. If there's one mistake many bakers make (including myself for years) it is making dough too dry.
- Yeast inactive or inhibited: if your yeast is old, came into contact with salt, or doesn't have enough water to work then your yeast won't work well for you. Yeast does several things for you: it converts sugar into CO2 causing a rise, it improves the structure of your dough, and it adds flavor. Put the salt on the opposite side of the bowl from the yeast to avoid inhibiting it. Also, adding the yeast to sugary water doesn't work well, especially with more modern yeasts. Just get quick acting yeast and add it to the flour bowl, then add water to that.
- The dough is not worked (kneaded) enough: Kneading improves the structure of your dough by stretching gluten molecules and getting them to link together, making your dough stretchy and pliable, and forming a structure that will trap air for a rise. Under-worked dough won't have enough structure
- the dough has been worked too much: as a home baker using hands this is unlikely, but still possible. Once you have the structure of the dough you need, stop and let it rise as any further working will form too much of a structure, making it too strong to expand
- Dough under-risen: the times in baking recipes are just guidelines, you need to go for a result rather than a time. I've had books say 45 minutes but it takes 3 hours, especially if my yeast was old
- Dough over-risen: if your dough rises too long the yeast will exhaust the sugars in the dough and die out, leading to the loss of all the air. This will make the dough dense.
For a nice soft sandwich bread I start with a really sticky dough. I then use it's stickiness to stretch the dough, smearing it all over the countertop and using a pastry scraper to bring it back together. This is a really quick way to build some gluten. Then I knead in flour bit by bit, kneading for at least 1 minute between adding flour until I have a soft dough that still sticks a bit to the counter. That stickiness means that there's enough moisture in the dough. I'll add a bit more flour to that and then stop adding flour to avoid drying the dough. If I want to knead it more I'll knead with a bit of vegetable oil instead to keep it from sticking.
It's consistency you're looking for, not time. Time is relative depending on your strength and kneading technique, 5 minutes for a skilled and strong baker may translate to 15 minutes for normal humans, so knead until you have the consistency you want. When you start kneading the dough it will pull into pieces easily, and have a rough texture. As you knead that roughness disappears and it will stretch longer without breaking. For a sandwich loaf I'll knead until I can stretch the dough from the middle of my torso to my knee without it breaking.
Next, rising your dough may take much longer than recipes say as it all depends on the ambient temperature of the room, humidity, the activity of the yeast, and other factors. Again, make this results driven, not time driven. A good sandwich bread dough should rise a lot, not the "doubled" many recipes say. For me tripled is more like it. Make sure you put it in a big enough bowl! This advice goes for the initial as well as the secondary rise in the pans. Let it rise enough in the pans until it looks like the recipe picture, that's about right. Ideally your oven will have been pre-heating for 30 minutes by now.
Now, slash your loaves the long way with a razor blade like a carpet knife, about 1/2 an inch down. Do it quick and avoid punching down the dough. Slashing will split the top skin and allow the dough to rise efficiently after you put it into the oven. Once you put it in the oven it's going to rise a lot as the yeast goes crazy before the heat kills it, and the moisture in the dough is going to vaporize into steam. If you don't slash you won't get as good a rise.