I started with a "point buy" for my base characters. I then split that up into "Tiers" so that I could add more utility in as you got more party members. I didn't have some kind of "hard limit" for my stats either. Okay, it's starting to sound complicated. Here's how I did it:
Every 10 HP or MP counted as 1 point. Every 5 points in Attack, Defense, Magic, etcetera counted as 1 point. My baseline points had to land somewhere between 18 and 20. Since I'm dealing with very small numbers and very simplistic damage formulas (as well as using all the stats inside of combat equally), it made the system a little easier to manage. However, I proceeded to have "exceptions" to the baseline as mandated by my storyline and the power meant to be had by the characters involved.
The "hard stop" on either end of that spectrum was a 15 to 22 stat spread. Hard stop on actual stats was no higher than 20 with a single exception that one character has a stat of 30 MP. The final rule was every character had to have at least one weakness.
However, this is not something I transferred over to my monsters. For balancing monsters I relied on a simple method (along with playtesting). How many hits do I want this monster to die in? How many hits do I want this monster to kill my characters in? It became fairly simple at that point. Balancing the equipment became much harder for me. But, the main character has 20 HP and 10 Defense. So, I want that character to die in 10 hits... So, starting enemies have 12 Attack Power. I also want those starting enemies to die in something like 4 or 5 hits, so their HP is 10 while their defense is 8 (the main character has 10 Attack Power). So, unarmed, it takes 5 hits to kill the basic enemy. Pick up the first starting gear and it bumps to 13 Attack power, which results in you killing the basic enemy in two hits instead of 5.
But, I have the luxury of using small numbers and simple formulas (almost no multiplication or division, almost entirely additive and subtractive). After knowing what my players will do without equipment, it's just a matter of playtesting for each piece of equipment and knowing the formulas for damage by heart to make this process a bit faster.
I think you can most certainly use a "point buy" system for your characters and have some well-rounded stats if you're the one controlling who gets which stats (as long as the player isn't determining this... it's pretty easy to break a game if you give the player too much control over stat distribution... even D&D wants you to try to randomize this to prevent game breakages). I'm not sure that would really work all that well for your enemies though. That might depend on what kind of game you're trying to make and how it's meant to work.