Buy low and sell high. That's a great strategy for anything you're buying and planning on selling later, and stocks are no exception. If you're willing to hold for years before selling your investment, then a couple of stocks to consider buying today are CVS Health (CVS -0.22%) and Amazon (AMZN 3.43%). Here's why these stocks look cheap -- and why you may want to buy them now.

1. CVS Health

Often, when a stock is trading at a big discount, investors may be inclined to think it's a value trap. At nine times its future earnings (based on analyst estimates), CVS looks like it may be too cheap a buy and that something must be wrong with its business.

But I believe that investors are simply being too bearish on the healthcare stock because of how aggressive it has been with acquisitions lately, and there could be concerns about the safety of its dividend, which yields 3.2% right now.

But the company's operations are in fine shape, with CVS reporting $53 billion in free cash flow over the past four years -- and its dividend only costs it roughly $3 billion on an annual basis. The company has impressive cash flow, which can help CVS handle periods of adversity, such as inflation and a recession.

While it is taking on some risk by getting into primary care with its pending $10.6 billion acquisition of Oak Street Health, it's not something investors should worry about much. Investing heavily into that area of healthcare is one of the reasons I'm hesitant about CVS' retail pharmacy rival Walgreens and the safety of its dividend, and a discounted multiple makes sense in that situation.

But CVS has a much broader business. Between being a health insurer (Aetna) and a pharmacy benefits manager (Caremark), the company is diverse, and that puts it in better shape to weather any storm.

In the future, given its acquisition of Oak Street Health and Signify Health (that transaction is already complete), I can see CVS being one of the world's larger healthcare stocks, potentially rivaling UnitedHealth Group as its operations get broader.

CVS stock trading near its 52-week low makes it almost a no-brainer buy right now. It's near its two-year low, and with some terrific growth opportunities ahead, the stock makes a good addition to any portfolio.

2. Amazon

The sell-off in the tech sector and worries about a slowing economy have created some great buying opportunities, one of which is Amazon stock. It is trading around levels it was at before the pandemic.

But a reset in its share price is not warranted, not when buying habits and patterns have changed and people are demanding more flexible shopping options. Plus, businesses are doing more of their operations online, and so demand for Amazon Web Services should remain strong as well.

Chart showing Amazon's annual revenue rising since 2014.

AMZN Revenue (Annual) data by YCharts

The company's revenue simply isn't going to nosedive back to 2019 levels. But with the tech stock down 32% over the past 12 months, there has been a fair amount of bearishness of late. Amazon is indeed guilty of hiring too fast and too much during the early stages of the pandemic, and that has cut into its bottom line. At nearly 60 times its future earnings, the stock does look overpriced.

But as the company becomes leaner, the business will be in better shape in the long run. Buying the stock now, while it remains at a reduced price, could be a great move for investors who are willing to remain patient with the business and the economy as a whole, because there's little doubt that Amazon will continue to dominate online retail and be a top provider of cloud-based computing services for years to come.