I think a lot of it has to do with the types of companies. Obviously, what you are doing requires special skills. Not every Joe off the street can do what you do, and the company recognizes how important good employees with those necessary skills are. The company my husband works for is similiar. They do a lot for their employees and reward them for extra work. But my husband is a salaried employee. I am a wage worker in a large company, in which there are no particular skills required beyond being able to count...which does seem to be difficult for some, but....anyway. If one person leaves, there are probably more people looking for a job. We have a REALLY high turn over rate. We have somewhere around 300 employees now, and there are very few who have been there as long as I have. I end up training a LOT of new people. There are new people every week. The company doesn't particularly care whether the employees are happy or not. And the company who took us over....they are well-known, but apparently hadn't made a profit for several years until corona forced everyone to shop online because of all the lockdowns. So now they finally made a profit. The company I work for has made a profit every year, and that profit has increased each year, making us a valuable asset to the new company. But considering they hadn't made a profit for several years, it's not suprising that they are rather cheap when it comes to rewarding employees. There was no money for extras.
I've thought about getting a different job, but the thing that holds me back is that with this job, I'm on an on-call basis. I don't have set hours. I have what they call a zero hour contract. I have no obligation to have hours at all, but the company is also not obligated to schedule me. Every week, I fill in online what my availability for the next week is. If I want a week off, I can just set it to zero hours. Most people have a contract for a certain number of hours, and they have to be available for the same hours every week and the company decides which of those available hours they want the person to work, and the average for the year is supposed to work out to whatever their contract is for. So a person might have a 20 hour contract, but have to be available for 30 hours each week at set times. If it's busy, the company will schedule them for all 30 of those hours. If it's not, they might only be scheduled for 15 hours that week. But they get paid for 20 hours, whether they work 30 or 10 hours, and by the end of the year, it's supposed to average out. I don't want to have that kind of contract. I like being free to say I can't work during the summer vacation if we want to go somewhere. With the contract for a certain number of hours, you can only have 2 weeks vacation at a time, and it has to work out with all the other people wanting vacation....they can say no, you can't have vacation at this time. They can't tell me I can't take vacation at a certain time, and they can't limit the number of days I take. I just say "I can't work from this date to that date". Most companies don't work like that, even with their zero hour contracts. With most companies, you fill in your availability one time, and you have to be available at that time every week in case they need you. You can't change it weekly because you have parent teacher conferences this week, or a dentist appointment next Thursday. You have to set your appointments around your availability, and there's no guarantee that you'll be needed at that time, so you may not be working, but you also can't make any plans, because if they call you and say "We need you to come in today" and you say you have an appointment, you either postpone your appointment, or you lose your job. They have no obligation to give you work, so if you want to keep your job, you'd better make yourself available. You also can't take vacations in the normal vacation periods, because that's when the regular workers take their vacations and that's when you are most needed to work in place of those people while they are on vacation. I've been working with this company for 13 years and have built up seniority. I get whatever hours I set as available. I wouldn't get that if I switched jobs, and there's no guarantee that another employer would be any better with compensation and appreciation of employees. With "unskilled" labor, they don't really have to be good at that, because people have to work to pay the bills and can't afford to be unemployed....they have to take what they can get. Employers know that they don't have to do anything special, because if you quit, they can easily replace you, and it's not likely you'll quit when you need to have a job. So switching to a different company would actually work against me, because I wouldn't have the flexibility I have now. I may not always feel appreciated, but I at least have work when I want it.