Attacking cities in supreme ruler can be very challenging, depending on which strategy you chose. The best units to conquer a city are infantry units, typically infantry units will perform better in places with "close combat" such as cities.
One reason why it can be so challenging, is because new players use the wrong units for the job. In the beginning you will hate it, but as you start getting to know the game better, you will simply start loving the complexity.
Infantry units are most useful in close combat situations, while Tanks are most useful in open terrain. Artillery can be used for almost anything, but they truly shine when your enemy has a huge camping army at a given location, and you cant seem to get your Tanks and Infantry past them.
Attacking cities using Special Forces
One way to easily take over another city, is to load some special forces into an airplane, and then drop them off on the city you want to attack. This will quickly kill the garrison units in the city, and start cutting away any potential other units in the city.
Typically a plane filled with 4-5 units can handle most cities. Cities that are heavily guarded are better handled through using a combination of infantry and artillery, special forces can be used to fasten the takeover.
The slow bombardment
You can also use artillery units to slowly bombard a city from a distance. This is especially useful if your enemy has a bunch of camping units at a city, or if you can not otherwise easily fly in your troops, perhaps due to a heavy air defense.
Artillery units can also be very useful in the defense of occupied territory, a few stacks on a given location can bombard approaching enemies, and effectively keep them at bay, or maybe even cripple their economy, since repairing cities and units can be expensive.
Beating a heavy air defense in a city
Sometimes an enemy might have a pile of air defense units, preventing you from flying in foot troops. In such a circumstance creating a distraction may grant you enough opportunity to still fly in your troops.
Such a distraction could come in the form of sending in a large air attack, before sending in transport planes. This should make their air defense more busy defending the city, and lower the chance that your transporter will be targeted.
Ensuring proper supply of your units
You make sure to have enough military goods available, and petroleum to ensure that your units are able to move and re-fill their fuel tanks when they run out.
Running out of supply can be fetal for your units, and leave them unable to defend themselves, and unable to escape.
Transport planes are perfect supply units, and better than supply trucks in areas where the movement of your troops is restricted by bridges and rivers.
If you chose to drop off foot-infantry troops, such as special forces or Airborne, then you can use the unused transporters for supplying your units. It can be a good idea to trade only the largest transport planes, as they both carry more troops, and typically last longer when supplying units on the battlefield.