WARNING--Lots of Spoilers ahead?!?!
Crisis Core is a game which improves by leaps and bounds once you complete the first "real mission" of the game and get access to a lot of side missions. Completing these are nice if you want to grind or get special loot and the missions are brief, but somewhat challenging.
I am playing this game on Hard Mode and the boss fight with Ifrit was very difficult. Zack was only on Level 9, lining up the Blizzard spell with Ifrit's attack animations to hit him before he moved out of range was aggravating, and the PSP analog stick kinda blows. Defeating Ifrit was such a nice feeling-- no boss so far has been as hard.
A main flaw with the battle system is the limited amount of space Zack can run around in. You might be surrounded by 2 robots, 2 ninja clones, and 3 floor robots at once and have a limited amount of space to move around in. You won't lose a battle from lack of skill--you'll lose from not being able to get to have enough time for the heal spell to kick in before you get robo-raped to death.
Parasite Eve had a similar battle system, but gave plenty of room for the main character to run around in, making most battles not so frustrating (apart from the limited ammo situation, which is another issue entirely).
Still, I'm having fun with Crisis Core in a retro way. It's like Parasite Eve's autistic little brother.