Because I live in a relatively remote area, cycling a tank could be difficult or not depending on how one looks at it.
In order go to a LFS, I must take a ferry to the mainland, catch a cab, and be back a few hours later in time to get the ferry back, along with also having time to get groceries and anything I need, because its an island, few things are easy to get.
A normal tank usually takes somewhere between 6 and 8 weeks to cycle. So waiting can be a painful experience for some.
Each method below
!.) Adding straight ammonia is a great way. You add it and test with something like an API kit until when you add ammonia, until disappears, and test some more until nitrite becomes nitrate, then add fish. A very accurate method, but complicated and fuzzy for some, although a good prep for regular testing that is a normal and important part of fish keeping.
2.) throwing a dead thing such as a shrimp, allowing it to rot (produce ammonia) and testing(as above) to find out when nitrate takes over.
Of course watching a piece of shrimp rot for 6 weeks or two moths can be excruciatingly boring
3.) adding some type of sacrificial fish, that produce ammonia, and before adding the fish (you really want) testing for ammonia spikes, and dips unti nitrate replaces lammonia and nitrite.
One problem with this method is the sacrificial fish could be asymptomatically carrying any number of disease vectors (Columnaris (bacterial), Ick (Protozoal), , Lymphocystis (viral ) that under the stress of spiking ammonia and nitrite, become more than asymptomatic, and seriously infect the tank and sit in wait for the new fish you have been anxiously to add. And then after adding that coveted species, watching it die inn epidemic.
Because of the remoteness of where I live (there are no LFSs on the island, (not even generic pet shops)), my general lack patience, and a few other factors, I chose the 3rd way....collected my substrate from nature, , filled the 180 gal tank, and started running the two thirty gallon sumps.
After letting the tank run with filtration for a week or so, I collected plants from a semi-local lake (some terrestrial plants too) , and 2 dozen mosquito fish, I dropped them in the tank, and started testing. Probably because of the plants, maybe because I placed 1 sump in direct sun (so it iimmediatly started growing algae) the tank never spiked, and plants got enough of a foothold before the expected fish arrived , 6 to 8 weeks, to consume chemical wastes.
After the 15 or so fish were added (12 Andinoacara cichlids, 2 tetras, and a Pleco )there was or has not been an ammonia spike.
I was surprised because, 2 dozen mosquito fish, cannot possibly produce a sufficient amount of ammonia to equal the output of the a dozen 4" cichlids, etc
The sacrificial mosquito fish were quickly eaten.
Since fish were added at the beginning of that tank 3 years ago, I have always done 30-40% water changes every other day.... that.... and the heavy planting (terrestrial and aquatic) are what I attribute to the lack of any ammonia, nitrite, or even nitrate readings.

I only recommend this 3rd way, if tank is sufficiently planted, and the plants are established enough to consume the byproducts of waste of the intended fish.
i consider myself very lucky that that it worked as smoothly as it did.