What difference between these 2 SQL styles?
As for the difference between INNER JOIN...ON vs WHERE clause, there is a good answer here. There are several answers there and the accepted answer pretty much summarises it all.

However, I cannot but comment that you query can be rewritten to significantly improve the performance, like this:

select wifi_name
      ,sum(case when success = 1 then 1 else 0 end)*100/count(*) as success_rate
from conn_log 
group by wifi_name;


In PostgreSQL 9.4+, it is even simpler:

select
    wifi_name, 
    count(*) filter (where success = 1) / count(*) * 100 as success_rate
from conn_log 
group by wifi_name;