1. Was Family BASIC powerful enough to create full programs or was it just made as a toy for people interested in programming?
It depends on your definition of 'powerful'. The Famicom, aka NES, was a 1.8 MHz 6502 machine, so its processing power was superior to a C64 or VIC20. Its graphics system was also more capable than the C64 or similar machines.
Family BASIC, on the other hand was a specially developed, MS-alike dialect. It was somewhat based on the BASIC for the Sharp MZ80 and follow-up series, which was also provided by Hudson Soft, but was a separate development. It was a specialty GAME BASIC. Basically, it used only integers in variable-handling, improved performance considerably, much like the Integer BASIC that Steve Wozniak created for the Apple II out of the same reasoning.
And like the TI 99/4a Extended BASIC, it featured many special functions to utilize the hardware to a degree unknown in other BASIC implementations. Nearly all the features of the hardware could be accessed from BASIC, including sprites, music, and in V3, collision-detection. The only real restriction was the limited RAM size. 2 Kb for the original version and 4 Kb for Family BASIC V3. Due to the great capability integration, this was less limiting than it seems.
Maybe take a look at this Youtube video to get an idea of how capable Hudson Soft's GAME BASIC was. It shows several games written in Family BASIC. The first (Mario Jump) is an example taken from the Family BASIC manual.
So I'd say it was more powerful than (almost) any other 8 Bit BASIC machine (back then).
2. I know Assembly language was used exclusively to create games for the NES/Famicom. Would you have a lot more limitations with BASIC compared to Assembly.
Well, is eating noodles with chopsticks more limiting than using a fork?
As usual, it depends. If you're in doubt about the underlying principles, RetroComputing might not be the right place to ask. The question about a comparison between BASIC and Assembler, even if it's a specific BASIC, is way too broad to be discussed here. Maybe try to ask this on more programming-oriented subsites of StackExchange.