An adequate broker needs to offer proper customer support, a good variety of products (like Forex currencies, stock indexes, oil), good platform support (Like MT4, Mobile, etc) and a secure way to deal with deposits and withdraws. Most of them fail in at least one of this topics.
It depends what is the criteria for you to determine a good broker. From my point of view, I prefer an ECN/STP brokers such as Alpari or sunbirdfx. This assures that the broker does not want its clients to lose their money and the performance is much better than brokers who don't send the orders directly to the markets.