Is the current rule based AI system will flexible enough (and easy to maintain) to meet the future requirements?
This really depends on your specific implementation. Are all your rules defined in one giant class which has to maintain many states and check those constantly? Are the rules easily readable and understandable? When you want to expand the system how hard would it be to add a rule to the system And would adding that rule lead to problems with the existing rules?
For example if rule A wants to get left and rule B wants to go right what happens? Is rule A checked first and executed without consideration for rule B? Are both rules executed with the delta difference actually happening (Moving left + moving right = standing still).
When you're making the system you have to watch out for what takes priority and what should happen when multiple rules clash. If you don't you will get those hard to debug situations!
Updated
Example2: You add a rule that the robber should run away when fired at. Makes sense right? Now you go and add power-ups and one of those is a shield (no bullet damage for X seconds). Now you have to go in and add a rule that when the police is shooting at the robber and there is a shield power up next to him he goes and grabs it and shoots back at the police. You play the game and the robber entirely ignores the power up and runs away. Ok, you switch the priority and it works, awesome. You then decide to spawn more police and run the scenario again.
Like before the robber grabs the shield and shoots back at the police, but once the shield runs out the robber is immediately killed since the shield is no longer protecting him. So then you go and add a new rule that is if there are lots police and they are shooting and you have a shield powerup, use the opportunity and run away. You do that but he doesn't get far enough and is gunned down. So you add a new rule that if he has a shield and is running away from the police but the shield is about to run out find cover.
You can see how this gets out of control quickly... Just add 2-3 more power ups and you will need an exponential amount of rules to cover the different situations that the robber can get into. Then you have to manage priorities for each of of those situations too!
What can be better alternatives for the existing rule based system? (Like decision trees or state machines etc.)
Have a look at Task based AI. It is kind of similar to rule based except that a task must be complete before the next one is started (or i suppose you could cancel one and start another based on what is happening around it) this avoids the problem that you face in question 1 as there is always a defined next step in the middle of a task and the only points where it could be troublesome are during the period of time were the next task must be chosen.
A better solution but one that may be harder to implement is an AI which does what is best for the current situation, Goal based AI. Basically you have a bunch of possible actions that the AI can take and you essentially evaluate how useful every action is at the current moment and then do the one which is best. So for a shooter you will want to shoot at the enemy but as you shoot the ammo will be go lower and lower until the point where the score for shooting is lower than reloading (and you reload). I think this would be better in your case as you could just pop in new actions and tweak the scoring function to get the correct behaviour for the game.
I read people suggesting that the rule based systems are difficult to debug. Can anyone explain why?
This about the examples from question 1. How would you debug that? You could print out everything that the rules are looking at and try to follow the program but that only works with very few rules, the more you add the more possibility the AI has to go crazy because of X rule. You could make a program which visualises why the AI chose to do a certain action but thats a lot of work that you could avoid by using a different AI technique.
Funnily enough the developers of Sims did have a program which would show why a Sim did a certain thing See this GDC Video (it's a perfect example)