In my experience you have to look at 3 major factors:
1. Current size of the system you need and future expansion
2. Do you need intelligent analytics? ANPR, Facial recognition etc.
3. Environment you are installing in.
It is very important to look at the size of the system. This will ultimately establish other factors in cost and practicality. Your total number of cameras will define how many switches, wallboxes and ultimately how many cabinets you will need. You power and POE budget on your switches is also a factor here i.e. generally using one POE switch with a small budget for power will limit your usage on the switch itself and you could maybe consider using 2 x 24 ports instead of one 48 port.
Analytics is what causes the price of a surveillance system to increase drastically and sometimes looking at more practical solutions will save you lots of money and management issues later on. I have many clients who ask for a 16 channel system which is able to do facial recognition but simply by looking at the use cases we know at most you require facial rec. only at your entrance and exits thus you only need 4 channels with analytics with a building with 2 doorways. Another option is to look at rather purchasing a software defined AI camera instead of having an entire system rigged for analytics. In a case where you possibly only need 1 camera for this rather let the camera do the work and the NVR can simply record the events. In other cases Huawei has cameras which can pass their edge computed abilities on to other cameras (Mostly up to 3) which also can practically save you money.
Lastly, IP ratings on cameras increase the cost and can limit the installation scenarios for you. If you will only do indoor installations then go for a normal indoor dome. You also need to look at what distance your camera will cover and then deciding on what lense you need. Sometimes it may be easy using motorized or vari-focal cameras but this will again increase O&M and cost. Installing a 2.5mm camera with a 2MP lens might save you ultimately and give you the budget to go for more robust cameras outside. I personally love to use the IVS1800 then use C-Series cameras indoor and then M-Series cameras outdoors.
I hope this helps