In English we would look words based on their alphabetical order.
But how are Chinese dictionaries ordered to allow you to find what you are looking for - is it based on the radicals, number of strokes, or something else?
Most dictionaries are ordered this way:
Section 1: 部首目录 （Radical directory）
At the front there is a radical index, these are ordered by the number of strokes. So first you need to look at the radical then count the number of strokes of that radical.
Once you have found your radical there will be a number next to it.
Section 2: 检字表 （Character checking table)
After all of the radicals have been listed then begins the Character checking table. This lists each radical as a heading alongside the number from the first section and then it lists all characters that have that radical in stroke order.
So if your radical from the first section has the number 78 next to it you can go through this list until you come to the heading with your radical and your number. Then you look down the list until you find the right number of strokes then keep looking to find your character.
So to revise:
You are right. The most common ways are:
By number of strokes, which is the easier way. You can almost always tell correctly how many strokes one character has.
Using radicals, which is quicker if well practiced. There are hard parts to it: some of the characters are just hard to guess the right radical. There is a list in Xinhua about the hard ones namely "难查字表".
When you know the pronunciation, but you're not sure how to write, you can then directly leaf through the dictionary. E.g. 新华字典 is indexed alphabetically, based on the pronunciation.
Modern Chinese dictionaries include several methods for the user to look up a character.
We usually use Pinyin (Pinyin is the official system for Romanization of Chinese characters). You can find the character by using the Pinyin equivalent then searching in alphabetical order. In most cases this is the fastest way.